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) |