Architecture Decision Records¶
Significant, hard-to-reverse design decisions are recorded here as ADRs: the context at the time, the decision, and its consequences. The first four are backfilled from the replacement design; new decisions get a new numbered file in this folder.
| ADR | Decision | Status |
|---|---|---|
| 0001 | Aggregate-first business/query storage, with bounded internal-state exceptions | Accepted |
| 0002 | Declarative YAML catalog as the source of behavior | Accepted |
| 0003 | Closed expression AST instead of embedded code | Accepted |
| 0004 | Chunk ledger with computation hashes for idempotent ingestion | Accepted |
| 0005 | One metric-owned adaptive heatmap; old aliases are rejected | Accepted |
| 0006 | Strict versioned catalog with no compatibility translation | Accepted |
| 0007 | Bounded lookback with optional rebuildable sharded checkpoints | Accepted |
| 0008 | Bounded rolling DuckDB processor state with transactional reconciliation | Accepted |
Writing a New ADR¶
Copy the section structure of any existing record (Status, Context, Decision, Consequences), number it sequentially, add it to the table above, and land it in the same PR as the change it justifies. Superseded decisions stay in place with status "Superseded by NNNN".