Overview
For everyone
Decision records
One file per decision that shapes the code and would be expensive to reverse. Each says what was decided, why, and what it costs — so that the next person who wants to change it argues with the reason rather than with the code.
| # | Decision | Status |
|---|---|---|
| 0001 | The contract is the source of truth; SQL is derived | Accepted |
| 0002 | The control plane is a database of its own, apart from the warehouse | Accepted |
| 0003 | Server-rendered Flask, no build step | Accepted |
| 0004 | The workflow is a validated file, not code | Accepted |
| 0005 | Agents propose; named people decide | Accepted |
| 0006 | The headless API reads and does not write | Accepted |
Writing one
Copy docs/decisions/template.md to the next number, keep it to a page, and open it in
the same pull request as the change it records. A decision that is replaced is not
deleted: mark it Superseded by NNNN and leave the text, because the old reason is
part of why the new one exists.