Architecture Decision Records (ADRs) — dag-ml-data¶
dag-ml-data carries copies of the five Phase-0 ADRs where the data layer is the primary enforcement site. The full set of 18 decisions lives in the sibling dag-ml repo (dag-ml/docs/adr/); only the data-relevant ones are mirrored here.
# |
Title |
Status |
Why it lives here |
|---|---|---|---|
01 |
accepted |
Tolerance ledger drives schema/representation parity |
|
02 |
accepted |
The coordinator envelope is this repo’s wire shape |
|
05 |
accepted |
This repo enforces it — |
|
06 |
accepted |
|
|
07 |
accepted |
Canonical reducers are defined in |
Byte-identical contract¶
These five files must stay byte-identical to their copies in dag-ml/docs/adr/. They are cross-repo contracts: a decision that binds both layers must read the same in both places. scripts/validate_contracts.py (run with DAG_ML_REPO=../dag-ml) validates this drift in CI — editing one copy without the other fails the build.
To change a shared ADR: edit it in dag-ml, copy verbatim here, run the contract check in both repos, and land the paired PR. Decisions are amended by a superseding ADR, never by silent edit.
ADRs not mirrored here¶
ADRs 03, 04, 08–18 govern the execution coordinator, bridge, packaging, CI, and governance — they live only in dag-ml/docs/adr/. Read them there when a dag-ml-data change touches the runtime, the C ABI lifecycle, or the release train (ADR-10).