Decisions
Every architectural decision, and how far we have adopted it.
A decision's stage is derived from the floor it sits on, never typed into a record. A
feature-flag list kept beside the work drifts from it — the flag says beta while the code
shipped a month ago, and nothing disagrees because nothing compares them. Here the flag is
the position, so a decision cannot claim a stage it has not reached.
Promotion is therefore not an edit. It is a move between floors, which is a mailroom event, which is append-only and reviewable.
| Floor | Stage | Means |
|---|---|---|
garage |
— | parked. An idea, not a decision |
reception |
research-preview |
routed, gates met, unapproved |
founder |
beta |
approved; we run it on ourselves |
software-engineer |
ga |
built, adopted, load-bearing |
Generally available
| # | Decision | Floor | PR |
|---|---|---|---|
| 0001 | Own the HTML half of the crawl rather than only the markdown | software-engineer |
#296 |
| 0002 | Make a workspace manifest the root artifact, not the HUD | software-engineer |
#301 |
| 0003 | Derive the MDX tree list per host instead of typing paths | software-engineer |
#302 |
| 0004 | Classify a surfaced component rather than leaving it unknown | software-engineer |
#303 |
| 0005 | Put page bodies in Postgres, not in a directory walk | software-engineer |
#304 |
| 0006 | Ingest the corpus from the sibling rather than re-crawling it | software-engineer |
#305 |
| 0007 | Commit the corpus, and keep it revertable on its own | software-engineer |
#306 |
| 0008 | Let Redis serve the corpus and never own it | software-engineer |
#307 |
| 0009 | Treat an HTTP 200 as no evidence that a file exists | software-engineer |
#308 |
| 0010 | Fetch one named URL rather than building the frontier first | software-engineer |
#309 |
| 0011 | Name uploads the way a training run names checkpoints | software-engineer |
#310 |
| 0012 | Measure a PDF's text layer per page, not per document | software-engineer |
#311 |
| 0013 | Declare what a skill needs, and make a degraded run say so | software-engineer |
#7 |
| 0014 | A template is a seed prompt, and the seed is derived not stored | software-engineer |
#8 |
| 0015 | Derive a decision's stage from the floor it sits on, never from a flag | software-engineer |
#6 |
| 0016 | Record a decision about a pull request in its own layer, not by force-pushing the layer it describes | software-engineer |
#9 |
| 0017 | Role and connector floors are orthogonal axes, so reception routes to role floors only | software-engineer |
#10 |
| 0018 | Declare the cloud environment as a contract a session can measure itself against | software-engineer |
#11 |
| 0019 | A pull request's domain is a function of its stage, and the subdomain is floors | software-engineer |
#12 |
Beta
None yet.
Research preview
None yet.
Parked
None yet.
19 decisions recorded in
floor-reception/adr.jsonl. Pages are generated by npm run gen:adr; a hand edit fails
npm run gen:adr -- --check.