Architecture Decision Records
One file per decision that binds future work: the API contract, the data model, licence, scope, a dependency or a security rule. UI details and bug fixes do not get an ADR.
- Write one when a decision issue (label
decision) is answered: copy0000-template.mdtoNNNN-kebab-title.mdwith the next number, link the issue, then close the issue with a link to the ADR. - Never edit an accepted ADR's decision. To change it, write a new ADR and set the old one's status to "superseded by NNNN".
| # | Decision | Status | Date |
|---|---|---|---|
| 0001 | Standalone app | accepted | 2026-10-15 |
| 0002 | One name: brickwork | accepted | 2026-10-15 |
| 0003 | API v1 authentication | accepted | 2026-10-15 |
| 0004 | API v1 writes and audit | accepted | 2026-10-15 |
| 0005 | Source keys stored encrypted in the app | accepted | 2026-10-15 |
| 0006 | API v1 scope and conventions | accepted | 2026-10-15 |
| 0007 | MCP is a thin layer over the API | accepted | 2026-10-15 |
| 0008 | Legacy screens and stores removed | accepted | 2026-10-15 |
| 0009 | With a password set, every web page requires login | accepted | 2026-10-16 |
| 0010 | Live import progress polls over HTTP | accepted | 2026-10-16 |
| 0011 | Part-list rule | accepted | 2026-10-15 |
| 0012 | Licence: MIT | accepted | 2026-10-16 |
| 0013 | Item detail pages | accepted | 2026-10-16 |
| 0014 | GitHub is the canonical repository, starting from a snapshot | accepted | 2026-10-18 |
| 0015 | The post-go-live plan lives in GitHub milestones | accepted | 2026-10-22 |
| 0016 | Data model 4.0: Brick Work ids, a catalogue from the Rebrickable dump, one migration | accepted | 2026-10-23 |
| 0017 | API v2: v1's resources with the 4.0 identity, an MCP that takes numbers | accepted | 2026-10-27 |
| 0018 | A schema cutover: one pinned catalogue, a rehearsal from a prod backup, the clients in the window | accepted | 2026-10-28 |
| 0019 | The first run is one resumable flow; a step is done only when its data says so | accepted | 2026-11-03 |
| 0020 | A bulk action is one batch that interactive work overtakes, tagged in the job payload | accepted | 2026-11-03 |
| 0021 | An order line for an item only BrickLink has becomes a local BrickLink-born item from the loaded BrickLink list | accepted | 2026-11-04 |
| 0022 | Brick Work leaves Toni's World and takes the App Design Standard layout; the screenshot gate compares the built app with approved captures | accepted | 2026-11-04 |
| 0023 | Schema 4.2: a job owner is a pid on one boot with one start time; an order line keeps why it is unplaced | accepted | 2026-11-04 |
| 0024 | The check runs its tests in parallel, its screen gate on several Chrome processes, and a docs-only change skips the app | accepted | 2026-11-09 |
| 0025 | Containers set up a missing collection before starting the server | accepted | 2026-11-10 |
| 0026 | Set scoring: inverse-frequency weight, swaps never in the score | accepted | 2026-11-11 |
| 0027 | Build Scout: percent available counts a set's own parts, figures apart | accepted | 2026-11-12 |
| 0028 | Stickers: a flag, a choice kept as an undoable event, and a documented evidence rule | accepted | 2026-11-12 |
| 0029 | Pull list: found counts kept in a setting row, Make it a copy as the one event | accepted | 2026-11-12 |
