chore(config): RATIFY deduction_serving_enabled — default ON (ADR-0256)

Ratified by Shay 2026-07-24. Default flipped False -> True.

Evidence at ratification:
- 25 shape-bands, each holding SERVE at 720/720 wrong=0 on the SHA-sealed
  ratified ledger (theta_SERVE=0.99, n >= 657 committed per band);
- deduction-serve lane 166/166 wrong=0 across six hand-authored splits;
- commit gate narrow by construction — a sentence-initial "therefore" IS an
  argument, so the composer cannot claim turns that are not one;
- an unearned shape is still served DISCLOSED, never asserted.

Blast radius verified, not assumed: core test --suite deductive 268 passed
with the flag ON by default; a live default-config ChatRuntime decides real
English and existential arguments through grounding_source="deduction" while
ordinary turns still fall through to pack grounding; lane pins 10/11 match —
unchanged by the flip (the single miss is the pre-existing public_demo drift
documented for Tier S).

Rollback is flipping this back: flag-off remains byte-identical to pre-arc
dispatch and leaves no residue, pinned by
test_flag_off_preserves_pack_token_gloss_byte_identity.

curriculum_serving_enabled stays OFF — every curriculum band is unearned, and
the Sonnet brief now records the explicit bar for revisiting it.
This commit is contained in:
Shay 2026-07-24 16:05:11 -07:00
parent 79eee97d43
commit 5dd6180308
3 changed files with 35 additions and 8 deletions

View file

@ -383,8 +383,18 @@ class RuntimeConfig:
# argument is served AUTHORITATIVELY only when its shape-band holds a SERVE
# license on the committed, SHA-sealed reliability ledger
# (chat/deduction_serve_license); an unearned band is served DISCLOSED
# (hedged). OFF by default: flag-off is byte-identical to pre-arc dispatch.
deduction_serving_enabled: bool = False
# (hedged).
#
# RATIFIED ON 2026-07-24 by Shay — default flipped False -> True. The
# evidence at ratification: 25 shape-bands each holding SERVE at 720/720
# wrong=0 on the SHA-sealed ledger (theta_SERVE=0.99, n >= 657 committed),
# the deduction-serve lane at 166/166 wrong=0 across six hand-authored
# splits, and a commit gate (`looks_like_deductive_argument`) narrow by
# construction — a sentence-initial "therefore" IS an argument, so the
# composer cannot claim turns that are not. Rollback is flipping this back:
# flag-off remains byte-identical to pre-arc dispatch and leaves no residue
# (pinned by ``test_flag_off_preserves_pack_token_gloss_byte_identity``).
deduction_serving_enabled: bool = True
# Generalization arc, Phase 2 (ADR-0262) — when on, ``chat/curriculum_surface.py``
# answers exam-shaped polar questions ("Does force cause acceleration?") from the

View file

@ -56,7 +56,18 @@ commit; push when the server is repaired.
`docs/research/math-reader-phase-4-1-status-2026-07-24.md`. Phase 4 should
be re-pointed at the reader arc's own live recommendation (increment-2
case-first on cases 0000/0001/0148/0082).
3. **No curriculum band can earn a SERVE license from present data.** A band
3. **`deduction_serving_enabled` is RATIFIED and ON** (2026-07-24). Flag-off
byte-identity is still pinned, so rollback stays one line with no residue.
S1's packet is now a *record* of that decision plus the standing evidence,
not an input to it.
**`curriculum_serving_enabled` stays OFF until verified.** The bar is
explicit: a `(subject × relation family)` band earning SERVE on the sealed
ledger — n≥657 committed with a genuine outcome mix. NOTHING in Tier S
closes that; it closes only when ratified curriculum content grows (see
S6). Do not flip it, and do not propose flipping it on "almost verified"
grounds — the bands are at ZERO earned, not near a threshold.
4. **No curriculum band can earn a SERVE license from present data.** A band
needs n≥657 with a real outcome mix; physics teaches 7 causal + 9 modal
relations, so at most 16 questions in the whole subject can ever come back
ENTAILED. A balanced band needs ≈219 taught relations per subject × family.

View file

@ -2,9 +2,11 @@
The contract these tests pin:
- ``deduction_serving_enabled`` is OFF by default; flag-off ``chat()``
output is byte-identical to pre-arc behavior for argument-shaped text
(the pack-token-gloss fallback, unchanged).
- ``deduction_serving_enabled`` is ON by default since its ratification
(2026-07-24); flag-OFF ``chat()`` output remains byte-identical to
pre-arc behavior for argument-shaped text (the pack-token-gloss
fallback, unchanged), which is what keeps rollback a one-line, no-residue
operation.
- Flag-on: a sentence-initial "therefore" conclusion clause commits the
turn to ``chat/deduction_surface.py``; every committed turn returns a
surface (never a silent fall-through to a different composer).
@ -310,8 +312,12 @@ def test_flag_off_preserves_pack_token_gloss_byte_identity() -> None:
assert "Pack-resident tokens" in resp.surface
def test_flag_is_off_by_default() -> None:
assert RuntimeConfig().deduction_serving_enabled is False
def test_flag_is_on_by_default_after_ratification() -> None:
"""RATIFIED 2026-07-24 (ADR-0256): the default flipped False -> True on 25
bands at 720/720 wrong=0 and a 166/166 serve lane. The off-path above stays
pinned because rollback must remain byte-identical, not because it is the
default."""
assert RuntimeConfig().deduction_serving_enabled is True
# ---------------------------------------------------------------------------