ADR-0001: Record every important change in an architecture decision record
Accepted
Status: accepted ยท 2026-10-24
Contextโ
ai-coach was built in one session from a written brief, and its decisions lived in that conversation, in commit messages and in ARCHITECTURE.md. A reader could not tell why a rule exists, which choices were deliberate, or which were later replaced. ADR-0002 to ADR-0011 gather what had been built by 2026-10-24.
Decisionโ
- Decisions are recorded as ADRs in
docs/adr/, one file each, namedNNNN-kebab-title.mdand numbered in order.template.mdis the shape;README.mdis the index. - Every important or major change ships with an ADR in the same commit: a new ADR for a new decision, or a new ADR that supersedes or amends an earlier one. A change is important when it does any of these:
- changes what the user sees or does: commands, flows, prompts, verdicts, scheduling;
- changes the architecture: a layer, port, adapter, use case or domain rule;
- adds, removes or swaps a dependency, model or external service;
- touches the privacy boundary or what data leaves the machine;
- changes a contract with kb-template, the config format or stored state;
- changes how the project is built, tested or worked on;
- reverses or narrows an existing ADR.
- Changes that need no ADR: bug fixes that restore what an ADR already says, refactors inside one layer that keep its behaviour, new tests for existing behaviour, typos, formatting, and dependency patch updates. When in doubt, write one; it may be a few lines.
- An accepted ADR is not rewritten. A changed decision gets a new ADR; the old one gets
status: supersededandsuperseded_by, and nothing else in it changes. - Status is one of
proposed,accepted,supersededordeprecated. An ADR isacceptedwhen the change it describes is committed. - The code is the source of truth for how; the ADR is the source of truth for why.
Consequencesโ
- Important commits carry their reasoning, so reviewers and agents can check a change against its ADR.
- Small fixes stay cheap.
CLAUDE.mdandAGENTS.mdpoint agents at this rule.