Architecture decisions that are already made, already implemented, and expensive to reverse. Each one exists because the reasoning was otherwise reachable only through a commit message or a session transcript.
An ADR here is a record, not a proposal. It is written after the decision has landed in code, and it states what was decided, why, what was rejected, and what it costs. Nothing in this directory is a plan — plans live in docs/plans/. ADRs are the absorb path for expensive-to-reverse decisions; a completed plan is a run log, not project knowledge.
| # | Decision | Status |
|---|---|---|
| 0001 | Markdown is the source of truth; harness.db is a derived, rebuildable index |
Superseded by 0006 |
| 0002 | One resolver owns the “at most one active plan” invariant, returning a Stop contract | Superseded by 0006 |
| 0003 | Durable memory ships as an opt-in CLI surface, unwired from the spine playbooks | Superseded by 0006 |
| 0004 | Recovery position after commit 655c6ac deleted docs/ |
Accepted |
| 0005 | Audit guards authored-document presence, not authored-document truth | Superseded by 0006 |
| 0006 | v0.15 deleted the derived index; live authority is ARCHITECTURE + CONTRACT | Accepted |
| 0007 | Playbooks and WORKFLOW.md fresh-overwrite; three-way merge narrows to PROJECT.md and the AGENTS.md block | Accepted |
| 0008 | Ownership is recorded, not inferred; stash restore is a transaction | Accepted |
| 0009 | One revision selector for every guard; completed plans are validated like active ones | Accepted |
| 0010 | A local failure ledger is maintainer-owned and optional for consumers | Accepted |
| 0011 | update drops three-way merge: hash-guarded AGENTS block, write-once PROJECT.md |
Accepted |
| 0012 | Plans have five sections; update migrates one nine-section active plan, Validation bytes unchanged |
Accepted |
| 0013 | The installer follows symlinks at directory components; deferred to its own initiative | Accepted |
Number it sequentially, name it NNNN-kebab-case-title.md, and add a row above. Keep the same five headings: Status, Context, Decision, Consequences, Authority. Every structural claim carries a path:line citation that resolves at merge time.