Decision log¶
Architecture Decision Records: each captures a single real design decision, the context that led to it, and its honest trade-offs, so nobody has to reconstruct "why did we do it this way?" from git blame later. See adr.github.io for the convention this follows. Numbers are sequential and never reused, even for a rejected or superseded decision.
An ADR is a record of a decision already made, kept accurate after the fact (superseded by a new ADR when circumstances change, never rewritten in place). The first eleven were written down once the design had settled, from the decisions made while building it.
| # | Decision | Status |
|---|---|---|
| 0001 | One Buck2 target per Buildroot package | accepted |
| 0002 | Wrapped packages run Buildroot's own make | accepted |
| 0003 | Enforced input views instead of declared inputs alone | accepted |
| 0004 | Fixed-path mount namespace | accepted |
| 0005 | Config slices by symbol ownership | accepted |
| 0006 | Golden build and manifest comparison | accepted |
| 0007 | Vendored sources | accepted |
| 0008 | Buildbarn as the remote backend | accepted |
| 0009 | Dev mode versus strict mode | accepted |
| 0010 | A cache salt per measured cell | accepted |
| 0011 | project.json is the only project input | accepted |
| 0012 | The toolchain tuple comes from Buildroot | accepted |
| 0013 | The worker image is the tool baseline | accepted |
| 0014 | Every view entry is a declared input, and remote execution proves it | accepted |
| 0015 | Buildbarn on a dedicated Kubernetes cluster with autoscaled worker pools | accepted |
| 0016 | One node pool, one server type, no taints | accepted |
| 0017 | A project names the tool baseline of its era | accepted |
| 0018 | Every make of a build runs with --no-print-directory |
accepted |