Architecture Decision Records¶
Use the adr skill (.claude/skills/adr) or copy 0000-template.md.
| ADR | Title | Status | Issues |
|---|---|---|---|
| 0000 | Template | — | — |
| 0001 | Monorepo architecture and module boundaries | Accepted | #1 |
| 0002 | Rust-first backend and technology stack | Accepted | #105 |
| 0003 | CLI presentation boundary and rs-rich-cli | Accepted | #108 |
| 0004 | CLI framework, module registration and exit codes | Accepted | #6 |
| 0005 | Configuration and profiles | Accepted | #7 |
| 0006 | Plugin SDK, contracts and capabilities | Accepted | #2, #3 |
| 0008 | Open, fast column-level lineage | Accepted | #73, #74, #31, #92 |
| 0009 | A hostable explorer (ods-web) and an EDGE layer |
Accepted | #95, #96, #102, #107 |
| 0010 | ods mcp, a read-only, local MCP server |
Accepted | #169 |
| 0011 | Read dbt State configuration as-is | Accepted | #168, #19 |
| 0012 | An ERD from tests and constraints, with evidence | Accepted | #60–#65, #169 |
| 0013 | State snapshots, fingerprints and the state store | Accepted | #11, #13, #16, #18, #20, #22, #25 |
| 0014 | The Executor contract and ods state run |
Accepted | #23, #24, #211 |
| 0015 | A dbt-shaped CLI, and compatibility front-ends for other tools' CLIs | Proposed | #224, #225, #226 |
| 0016 | Check that a relation still exists before reusing it | Accepted | #230 |
| 0017 | State per dbt target, with a non-secret target identity | Accepted | #227 |
| 0018 | State store migrations, integrity and recovery | Accepted | #188 |
| 0019 | Release and versioning strategy | Accepted | #101, #212 |
| 0020 | dbt state interop: export a state that --favor-state can trust, and import dbt runs |
Accepted | #296 |
| 0021 | Databricks authentication: U2M first, M2M for CI, tokens never persisted | Proposed | #297 |
| 0022 | Delta table versions as source change evidence, read through dbt | Accepted | #17, #16 |
| 0023 | ods doctor: typed health checks, stable codes and exit semantics |
Accepted | #181 |
| 0024 | Run events, per-node run stats and the run journal | Accepted | #322 |
| 0025 | Explaining failed nodes: a neutral taxonomy, provider pattern catalogues and evidence joins | Accepted | #323 |
| 0026 | Run playback: replaying a run's journal on the Lineage page | Accepted | #322 (follow-up) |
| 0027 | A federated build graph across project formats (dbt, SQLMesh, …) | Proposed (exploratory) | #12, #86, #226 |
| 0028 | Open data environments: versioned physical tables, environments as pointers | Proposed (exploratory) | #29, #30, #114, #120, #195 |
| 0029 | Build timings and the run ledger: what reuse saved | Accepted | #210 |
| 0030 | Configurable and pluggable health checks: config, probes, scripts and plugins | Accepted | #392, #354, #117 |
ADR-0007 (the clean-room and licensing policy, #10) is planned and not written yet; until it is, the rule is AGENTS.md rule 8, and deny.toml checks dependency licences. Each ADR's status line notes what of its decision isn't built yet.