Developer Tools

Git history should explain the decision

1 min read

The diff explains what changed. The commit message should explain why.

The first person reading old history is usually debugging something. They need the decision, the constraint, and the verification, not a mood:

auth: preserve invite token through callback

callback retries were dropping the invite token, which made the last step
look like a fresh session. keep the token in the redirect so the invite can
finish after login.

verified with:
  pnpm test tests/auth/invite-callback.test.ts

“fix”, “updates”, and “cleanup” are placeholders. They make future archaeology slower.

A useful commit body answers three questions: what broke, why this patch shape, and what still needs watching. Say when a change is a workaround or a deliberate product choice. Include the rollback path when it is not obvious.

That history is especially useful for agent-written changes. A mechanically correct diff can still be hard to recover if nobody recorded the assumption that changed. A plain reason and a test note give the next human a place to start.

Good history helps with blame, revert, and debugging. Its job is to preserve intent after the original conversation is gone.

Jeremy London

About Jeremy London

Engineering leader and builder in Denver. I write about AI platforms, agents, security, reliability, homelab infrastructure, and the parts of engineering work that have to survive production.