Skip to content

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".