22 lines
1.1 KiB
Markdown
22 lines
1.1 KiB
Markdown
---
|
|
description: Record an architectural decision in six lines
|
|
---
|
|
|
|
Append an ADR to `docs/decisions.md` using the exact format at the top of that file.
|
|
|
|
First, before writing anything: find the doc that owns this topic via the ownership table in
|
|
`docs/README.md` and read it. If it already carries the rule, do not write an ADR — amend that doc
|
|
and say that is what you did. An ADR that restates an existing doc is a duplicate, not a decision.
|
|
|
|
Rules:
|
|
- Next sequential number. Never renumber, never rewrite an existing entry.
|
|
- To reverse a decision, add a new ADR and mark the old one `superseded by ADR-NNNN`.
|
|
- Six lines. If the reasoning needs more, the decision is not yet made.
|
|
- `Revisit if:` must name a specific observable event, not "if requirements change".
|
|
- If the decision adds a dependency, update `scripts/allowed-deps.txt` in the same change.
|
|
- If the decision raises a budget, update `scripts/budgets.env` in the same change and state
|
|
the old and new values in the ADR.
|
|
|
|
If the argument for `$ARGUMENTS` is thin — no forcing reason, or no consequence you can name —
|
|
say so and ask one question rather than writing a hollow entry.
|