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