Store decisions as records inside the platform
Records are first-class platform data rather than files in a repository, because the assistant that reads and drafts them needs somewhere to look.
- Memory
- Architecture
- Argus
2 min read · 498 words
The forces at the time
What was chosen
proposed and are attributed to the assistant; only a person moves a record to accepted .
What else was considered
- Markdown files in a repository
- The conventional answer and a good one for a single codebase. Rejected here because the decisions span infrastructure, hardware, and cloud configuration with no shared repository, and because filesystem conventions are not a schema an assistant can rely on.
- A wiki
- Rejected. Wikis encourage editing in place, which destroys the immutability that makes a decision history worth keeping.
- Issue tracker entries
- Rejected. Issues are closed and forgotten by design; decisions need to stay visible long after the work is done.
- Records in the platform with no export
- Rejected. Creates a history that is unreadable during exactly the incidents when it is most needed.
What follows
Gained
- One place to look, regardless of which layer a decision concerns.
- Records are queryable by status, tag, and the system they relate to.
- The assistant has a defined target for drafting and retrieval.
- Supersession is enforced by the model rather than by convention.
Paid for
- Writing a record now depends on the platform being available.
- A database is a heavier home for prose than a text file, and the export path has to be maintained or it will rot.
- Records become platform data, which puts them inside the backup story — and makes an untested restore a documentation risk as well as a data one.
- A schema for prose will be wrong at least once and will need migrating.
Records are immutable once accepted. A change supersedes this one rather than editing it.