feat(adr-0250): 2b certified summation turn — full GSM8K dev holdout 50/50 wrong=0 #73
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/adr-0250-t2b-summation"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Third phase of the Tier-2 arc (spike #71, T2a #72 merged). Adds the certified summation turn — and with it, the corridor now solves the entire real GSM8K dev holdout.
Headline
Tier-1 (26) + T2a single-entity (18) + summation (6) = 50/50 on the real dev holdout, wrong = 0. Pinned as a capstone test.
What it does
A total-like unknown (
unknown.entity is None, "how many altogether") is no longer refused — it compiles to a certified summation over all registers. The distinction is the explicit typed signal (aNoneunknown the reader emitted), never an inferred op-sequence pattern. Per ruling #1 the summation stays in the substrate: each addition is a certified relaxation turn (T_von the running accumulator), never a Pythonsum().Chain of custody (Shay's Q, now implemented)
Each summation turn's operand is the decode of a certified register state, and the record carries
operand_source_digest(the samepsi_digestbyte convention). Deterministic re-execution reproduces the state and its decode, so the Python layer cannot tamper with the intermediate value — no trusted-Python assumption. The field is added conditionally to the record payload, so the already-merged T2a (non-summation) record digests stay byte-identical.Honest test update
The one T2a test that asserted the total-unknown refusal now asserts it sums to 8 — the behavior changed for the better (2b removes that refusal), and the test reflects it.
Governance
Off-serving (A-04); no gate activated; ratified contracts reused; conservation pin + atomicity unchanged. Every phase smoke-gated green.
Tests
tests/test_adr_0250_summation.py(new, 5) +tests/test_adr_0250_multi_register.py(11, one updated) — 16/16 green, including the full-holdout 50/50 wrong=0 capstone and the summation chain-of-custody / tamper pins.Next
Extend the generalized-lift instrument's
arithmetic-chaindomain to the multi-entity subset (recorded coverage 26 → 50), then ADR-0250 (Proposed) + acceptance evidence. No self-Accept.[Verification]:
uv run python -m pytest tests/test_adr_0250_multi_register.py tests/test_adr_0250_summation.py -q→ 16 passed;uv run core test --suite smoke -q→ 176 passed.