Skip to content

Architecture Decision Records

Format: see template.md. Numbered, immutable once Accepted (supersede, don't edit). Lifecycle: draft → Accepted → (Superseded by ADR-nnnn).

Design-phase records are firmed up via trade-off matrices and spikes in the planning workflow (see ../planning/meta-plan.md). Phase-2 gate (P2-E5, 2026-07-21): ADR-0002–0017 Accepted — evidence in ../planning/adr-acceptance-review.md; partial supersessions by ADR-0016/0017 are noted on each ADR's status line (not full Superseded by replacements).

ADR Title Status
0001 Implementation language: Go, single static binary Accepted
0002 Policy surface: one Kyverno-style YAML envelope, pluggable expression backends Accepted (v2)
0003 Canonical change model for JSON / YAML / HCL-tfvars (incl. deletions & renames) Accepted (partial: ADR-0017 §5)
0004 Plugin architecture for permission & fact providers Accepted
0005 Forge abstraction: GitLab first, GitHub second Accepted (partial: ADR-0017 §1/§7)
0006 Testing strategy: spec-driven pyramid with real-forge e2e Accepted
0007 Rule effects and decision aggregation (incl. risk points) Accepted (partial: ADR-0017 §2/§3)
0008 Change classification, ruleset routing, and rule scope Accepted
0009 Execution modes: CI, local/dry-run, explain, webhook, scan/stats Accepted (partial: ADR-0017 §4)
0010 Configuration files and governed-repo layout Accepted (partial: ADR-0017 §2/§5)
0011 Core Go ports and public contracts (draft shapes) Accepted (partial: ADR-0017 §1/§7)
0012 Presentation: comment rendering, expandable details, docs links, rule debug Accepted (override → ADR-0016)
0013 assert syntax and backend: CEL-leaf condition trees on cel-go (gallery) Accepted
0014 Adopter test format — policy tests as a public contract Accepted (partial: ADR-0017)
0015 Trust boundaries and merge-time integrity (from the 2026-07-21 adversarial review) Accepted (partial: ADR-0017 §1/§4/§6)
0016 Presentation theming: config knobs, slots, CEL messages, render contract Accepted
0017 Contract model: governed subjects, required obligations, typed facts, preconditioned reconciliation Accepted
0018 Policy lifecycle — phase, profiles, comparison Accepted (D-030)
0019 Publication marker + reconciliation protocol (database-free) Accepted (D-030)
0020 Forge snapshot changed-file completeness contract Accepted (D-119)