33 lines
1.7 KiB
Markdown
33 lines
1.7 KiB
Markdown
|
|
# Architecture Decision Records
|
||
|
|
|
||
|
|
This directory holds the architectural decisions that govern `artifact-store`.
|
||
|
|
Each ADR is a small Markdown file with a status (`proposed`, `accepted`,
|
||
|
|
`superseded`, `deprecated`), a concise statement of the decision, the
|
||
|
|
forces that pushed it, and the consequences.
|
||
|
|
|
||
|
|
ADRs are the canonical home for "we are doing X" statements that survive
|
||
|
|
multiple workplans. `INTENT.md` says what we build; `SCOPE.md` says where
|
||
|
|
the boundary is; `docs/PLATFORM-AMBITION.md` says where we are pointed;
|
||
|
|
ADRs say how — and they are the only document that records a *changeable*
|
||
|
|
decision in a form that can be superseded cleanly.
|
||
|
|
|
||
|
|
Workplans cite the ADRs they depend on. The architecture blueprint cites
|
||
|
|
the ADRs it operationalises.
|
||
|
|
|
||
|
|
## Index
|
||
|
|
|
||
|
|
- [ADR-0001 — Content-Addressed Storage with Dual Digest](0001-content-addressed-storage.md) — accepted
|
||
|
|
- [ADR-0002 — Append-Only Event Log as Source of Truth](0002-event-log-source-of-truth.md) — accepted
|
||
|
|
- [ADR-0003 — Manifest Canonicalisation = Canonical CBOR (RFC 8949 §4.2.2)](0003-manifest-canonical-cbor.md) — accepted
|
||
|
|
- [ADR-0004 — Control Plane / Data Plane Contract](0004-control-plane-data-plane-contract.md) — accepted
|
||
|
|
- [ADR-0005 — V1 Technology Stack](0005-v1-tech-stack.md) — accepted
|
||
|
|
- [ADR-0006 — OCI Artifact Compatibility Kept Reachable](0006-oci-compatibility-reachable.md) — accepted
|
||
|
|
|
||
|
|
## Conventions
|
||
|
|
|
||
|
|
- Filenames: `NNNN-kebab-case-slug.md`, numbered in acceptance order.
|
||
|
|
- Status transitions: `proposed → accepted → (superseded | deprecated)`.
|
||
|
|
- Supersession is explicit: the new ADR links the old; the old ADR links
|
||
|
|
forward and changes status. Never delete an ADR.
|
||
|
|
- Each ADR is short. If it is long, it is wrong: split it.
|