You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This directory holds Architecture Decision Records (ADRs): short, numbered notes
that capture a non-obvious choice, why it was made, and what follows from it. They
keep the reasoning from being lost and stop settled questions from being
relitigated.
How to propose a decision
Copy TEMPLATE.md to NNNN-short-title.md, using the next free
number (zero-padded, sequential, never reused).
Fill in Context / Decision / Consequences and set Status: Proposed.
Open a pull request. The decision is discussed and approved on the PR.
On approval a maintainer changes the status to Accepted and merges.
Rules that keep the log trustworthy
One decision per file.
Append-only. Once a record is accepted, its substance is not edited. Numbers
are never reused and records are not deleted.
Supersede, do not overwrite. To change a past decision, write a new record
that replaces it: set the old one to Superseded by NNNN, and note
Supersedes MMMM in the new one. The old record stays as history.
Decision status, not implementation status. A record's status describes the
standing of the decision, not whether it has been built. Implementation
progress lives in the issue tracker, so an accepted but unbuilt decision links to
its tracking issue rather than inventing a status for it.
Status values
Status
Meaning
Proposed
Drafted and under review; not yet agreed.
Accepted
Agreed and in effect; the choice the project currently follows.
Superseded by NNNN
Replaced by a later decision; kept for history.
Deprecated
No longer applies, with no direct replacement.
Rejected
Considered and decided against; kept to record why not.