Architecture Decision Records¶
The 26 settled engineering decisions of the Quiver Engineering PRD, materialized as standalone files at milestone M0 (REQ-DOC-004). Implementation follows accepted ADRs; reopening one requires a PRD amendment, never implementation-time discretion (master prompt Part 12; PRD 00 §2).
Conventions. ADR bodies are preserved verbatim from the PRD (relative links rewritten for this location). Long-form ADRs carry explicitly labeled fields; compressed-prose ADRs use inline labels (Context:, Problem:, Constraints:, Alternatives:, Consequences:, Reconsideration:, Related:), and in them the decision is the alternative marked "(selected)". Constraints are stated where applicable per the field-normalization review (REVIEW_REPORT F-12).
Lifecycle. From M0 this directory is the canonical ADR home: a status change (Superseded, Deprecated) is a PR touching the ADR file and this index. The PRD chapters remain the historical record.
Coverage waiver (PRD 01 §5). Three master-prompt-mandated ADR areas carry no dedicated ADR by documented waiver: memory ownership (fixed by Charter T6/§7.2 → REQ-API-003/REQ-MEM-009), allocator strategy (a Charter §8.2 permanent non-goal → REQ-MEM-003), and threading model (fixed by Charter T1/§7.3 — no threads, pure functions; the only synchronization design is dispatch, ADR-004). The waiver itself is the recorded decision.
Index¶
| ADR | Title | PRD source | Status |
|---|---|---|---|
| ADR-001 | Repository layout and module boundaries | 02-repository-architecture.md | Accepted |
| ADR-002 | Library form: compiled static library + generated amalgamation | 03-build-system.md | Accepted |
| ADR-003 | Per-ISA translation units with target-region macros | 09-simd-architecture.md | Accepted |
| ADR-004 | Lazy atomic per-entry dispatch with policy epoch | 07-runtime-dispatch.md | Accepted |
| ADR-005 | First-party CPU feature detection | 07-runtime-dispatch.md | Accepted |
| ADR-006 | Public API style | 04-public-api.md | Accepted |
| ADR-007 | Inline-namespace ABI versioning | 04-public-api.md | Accepted |
| ADR-008 | Google Benchmark + first-party ledger runner | 10-benchmark-architecture.md | Accepted |
| ADR-009 | Testing stack | 12-testing-architecture.md | Accepted |
| ADR-010 | CI topology and SDE-based AVX-512 coverage | 13-ci-architecture.md | Accepted |
| ADR-011 | Equal-ISA auto-vectorized baselines | 10-benchmark-architecture.md | Accepted |
| ADR-012 | qhash64 v1 algorithm | 08-kernel-design.md | Accepted |
| ADR-013 | Float reduction reassociation policy | 08-kernel-design.md | Accepted |
| ADR-014 | Overflow reporting design | 08-kernel-design.md | Accepted |
| ADR-015 | Tail handling policy | 09-simd-architecture.md | Accepted |
| ADR-016 | Bitmap tail zeroing and output determinism | 06-memory-model.md | Accepted |
| ADR-017 | Contract-based error model | 16-error-handling.md | Accepted |
| ADR-018 | Amalgamation generation strategy | 03-build-system.md | Accepted |
| ADR-019 | Documentation toolchain | 14-documentation.md | Accepted |
| ADR-020 | Statistics implementation | 11-performance-ledger.md | Accepted |
| ADR-021 | Ledger data model and storage | 11-performance-ledger.md | Accepted |
| ADR-022 | First-party PMU wrapper | 10-benchmark-architecture.md | Accepted |
| ADR-023 | Aliasing contract | 06-memory-model.md | Accepted |
| ADR-024 | Release and branching strategy | 19-release-plan.md | Accepted |
| ADR-025 | Selection-vector semantics | 08-kernel-design.md | Accepted |
| ADR-026 | Bit-packing layout | 08-kernel-design.md | Accepted |
| ADR-027 | Convenience surface + MinMaxSummary rename | 04-public-api.md §3.6 | Accepted |