Stamp the §10 ruling record: Status Proposed→Accepted; four design rulings affirmed; honest-by-construction measurement (0 wrong / 26 correct / 24 refused on real GSM8K, PARITY vs symbolic fold) affirmed as the definitive outcome. Next arc selected: Tier-2 arithmetic (multi-entity/transfer/rate/comparison/ fraction). Acceptance-evidence status updated to RATIFIED. Doc-only.
3.4 KiB
ADR-0249 — Acceptance Evidence
Status: RATIFIED — ADR-0249 Accepted 2026-07-18 by Joshua Shay for commit 220039f7
Date: 2026-07-18
ADR: docs/adr/ADR-0249-reader-hamiltonian-compiler-composition-frontier.md
Design record: docs/research/reader-hamiltonian-compiler-spike-2026-07-18.md
The reader→Hamiltonian compiler closes the composition frontier the
generalized-lift instrument (ADR-0246 S4) was waiting to measure. Built in five
smoke-gated phases, each merged under its own PR off forgejo/main.
Phases merged
| Phase | PR | Merge commit | Module | Pins |
|---|---|---|---|---|
| P1 quantity kernel | #66 | aca98d85 |
core/physics/quantity_kernel.py |
35/35 |
| P2 relation compiler | #67 | 2575d0d9 |
core/physics/relation_compiler.py |
21/21 |
| P3 CNF converter | #68 | 309e0ef6 |
evals/logic_cnf_compiler.py |
32/32 |
| P4 turn-program executor | #69 | 805752db |
evals/turn_program.py |
15/15 |
| P5 instrument integration | this PR | — | evals/generalized_lift_instrument.py |
10/10 |
Smoke (uv run core test --suite smoke -q) green at every phase boundary (176 passed).
Load-bearing results
Multi-step arithmetic by chained certified relaxation (P4):
((5+3)*2)-4 = 12, (10/2+7)*3 = 36, (100-40)/4 = 15 — every turn
ground_state_certified; accumulator flows as a field state, decoded once.
Real GSM8K dev holdout (P5, sealed 50 cases, evals/gsm8k_math/dev):
| Metric | Value |
|---|---|
| Tier-1 affine ingestible | 26 / 50 (52%) |
| Corridor correct on ingested | 26 / 26 — wrong = 0 |
| Corridor vs symbolic fold | PARITY (delta = 0) |
| Refused (multi-entity) | 24 / 50 — recorded Tier-2 frontier |
The corridor solves real GSM8K problems it can ingest with zero wrong answers, and honestly refuses the rest. It does not beat arithmetic at arithmetic (PARITY is honest); the deliverable is real-data coverage + a decidable measurement, per the honest-NULL protocol.
Algebra verified in-tree (P1): conformal line embedding + translator/dilator
exactness checked against algebra/cl41.py's own multiplication table (nullity
< 3e-10; translator exact to f64 rounding; dilator sign convention pinned).
CNF soundness proved (P3): for a 14-formula panel, the compiled CNF has the
same ROBDD identity as the source (canonicalize oracle); end-to-end entailment
agrees with evaluate_entailment gold, wrong = 0 on consistent premises.
Design corrections applied (honest register)
- Ring-2 is non-mutating.
run_residual_protocolis zero-bound (stage-5 recertification refuses a moved witness), so it certifies fixed-state admissibility, not transitions. The turn ledger reuses the chain-integrity pattern (TurnRecord/verify_turn_chain), not the admission protocol. cga_inneris the wrong metric for versor states — readback and quantity decode usephase_correlation/2, pinned in the P1 module.- Scope note corrected — the instrument's stale "no compiler exists" line is replaced with measured Tier-1 coverage + the multi-entity frontier.
What remains open (not claimed here)
- Multi-entity / non-affine GSM8K (transfer, rate, comparison, fraction) — Tier-2, refused and recorded.
-
5-atom deduction via ROBDD-partitioned turn programs — next arc.
- ADR-0246 §3.7 admission-policy calibration — unchanged; no gate activated.
generate/("core_logos") serve-path articulation upgrade — still deferred.