core/CLAIMS.md
Shay 0770648257
feat(GSM8K): comprehension reading → first metric move 3/47/0 → 4/46/0 (#488)
* feat(adr-0189): comparative reading — anchor-verb widening + multi-word units

The candidate-graph comparative extractor (ADR-0131.G.2) read only has/have +
single-word units, so real-GSM8K comparatives ('Brooke does three times as many
jumping jacks as Sidney') didn't parse — a dark statement in 17 places blocking
15 of the 47 refused train_sample cases, despite the ADR-0123 solver already
supporting compare_additive/compare_multiplicative.

Widens the anchor-verb set (reusing legacy vetted lemmas + does/collected/
gained/studied…), EXCLUDING polarity-inverting verbs (lose/spend/give/sell/win)
to preserve wrong=0; admits 1-2 word units via the existing multi-word
_unit_grounds branch. Feeds the existing solver unchanged.

wrong=0 proven: G2_comparatives 29/29, G3 20/0, G4 32/32, train_sample 3/47/0
byte-identical; polarity-inverting verbs proven refused (failing-under-violation).
Chain composes correctly in isolation (146 -> 438). Flips 0 cases ALONE — every
comparative case needs a composing partner (aggregation / multi-word-noun
injection); this ships the component, not yet a flip.

- generate/math_candidate_parser.py: _comparison_anchor_verb widening + 1-2 word
  unit slots in the two multiplicative comparative regexes.
- tests/test_adr_0131_G2a_*: 5 tests incl. polarity-inversion wrong=0 guards.
- docs/decisions/ADR-0189: gap, change, wrong=0 evidence, honest scope.

* feat(adr-0189a): first metric move 3/47/0 -> 4/46/0 (case 0024, comprehension-composed)

Case 0024 now SOLVES (answer 438) by composing three general comprehension
capabilities feeding the unchanged ADR-0123 solver:
  1. day-of-week count enumeration: Sidney = 20+36+40+50 = 146
     (_day_enumeration_candidates; derived sum grounds via first count token,
      mirroring _embedded_quantifier; closed to the 7 day names)
  2. comparative reading (ADR-0189): Brooke = 3 x Sidney
  3. activity question 'How many <unit> did <Entity> <verb>?' (_Q_DID_RE)
Plus do/does/did added to the CandidateInitial anchor whitelist (production-
possession), admitted only via the closed day-enumeration shape.

wrong=0 PROVEN across every lane: all 8 capability axes wrong=0 (G2_comparatives
29/29, G3 20/0, G4 32/32, G5/S1/S3/S4 all pass), train_sample 4/46/0 wrong=0,
verify_lane_shas exit 0 (no pinned lane changed), generate_claims --check OK.
872 tests pass; new tests are failing-under-violation incl. wrong=0 guards
(non-day comma list not summed; polarity-inverting comparative verbs refused).

Re-baselined report.json + train_sample_coverage_report.json (latter also clears
pre-existing reason drift) + CLAIMS.md to the new 4/46/0 metric. Decode-not-guess:
0024 solved by READING its structure, not storing an answer. Remaining pre-existing
failures (G3 committed-report, telemetry) unrelated, fail on pristine main.

- generate/math_candidate_parser.py: day-enum extractor + _Q_DID_RE + does-anchor.
- tests/test_adr_0189a_day_enum_activity.py: 5 tests (incl. end-to-end 0024=438).
- docs/decisions/ADR-0189a + report.json/coverage/CLAIMS re-baseline.
2026-05-30 09:21:48 -07:00

3.4 KiB

CLAIMS

Every row below is mechanically derived from in-tree state and verified by CI. Tier 1 rows come from core.capability.ledger_report; Tier 2 rows come from scripts/verify_lane_shas.py's pinned SHAs.

Tier 1 — Ratified domains

Each row asserts: the domain's packs pass all nine ADR-0091 contract predicates, declared operator chains meet the ≥8 / ≥3-intent floor, the reviewer registry resolves the primary reviewer, and the ledger status predicate evaluates to reasoning-capable with no open gaps.

Domain Status ADR Packs Open gaps
philosophy_theology reasoning-capable ADR-0085 2 0
mathematics_logic audit-passed ADR-0097 1 0
physics audit-passed ADR-0100 1 0
systems_software audit-passed ADR-0101 1 0
hebrew_greek_textual_reasoning reasoning-capable ADR-0102 4 0

Tier 2 — Pinned lane reports

Each row asserts: running the lane's runner produces a JSON report whose SHA-256 matches the pinned value below. Mismatch is a CI failure (.github/workflows/lane-shas.yml).

ADR Lane Purpose Report path Pinned SHA-256
ADR-0092 reviewer_registry Reviewer registry schema validates + bootstrap entry self-seals evals/reviewer_registry/results/v1_dev.json 681a2aab5aa4ffd58cd837ce5673c8b2a9545b570117aec3c02726a12f6876e6
ADR-0093 domain_contract_validation All ratified packs satisfy the 9 ADR-0091 contract predicates evals/domain_contract_validation/results/v1_dev.json 98ace04e3f02bbc5a8ad655bb6593c3f1ee64cb67014f1122fe6c3c85f48d22f
ADR-0095 miner_loop_closure Miner-sourced proposals route through single reviewed teaching path evals/miner_loop_closure/results/v1_dev.json 9f071733abe7dcacf759f928548ce738fb639af3fd6e4c621a651b306d7e77ce
ADR-0096 fabrication_control_summary Phantom endpoints / cross-pack non-bridges / sibling collapses refuse evals/fabrication_control/results/v1_summary.json 01e1b6b711141f2b4a14551d7df3ea482d8d6dd7b364a25c509f4f8d08cda8a8
ADR-0098 demo_composition Demos compose from shipped modules; no parallel mechanism evals/demo_composition/results/v1_dev.json 3a3d09f3a87462737e615c2dd3481b9e13e5ff8fadee0043c37873494ded556d
ADR-0099 public_demo Public showcase runs deterministically under 30s; all claims supported evals/public_demo/results/v1_dev.json e323adb35ea17987991395424c603ff93bca08c11bc2713bd9f6338e86bb269f
ADR-0104 curriculum_loop_closure Curriculum-sourced proposals route through single reviewed teaching path evals/curriculum_loop_closure/results/v1_dev.json b46d56b2d209172cc3ffaf3776dc8dcfe55093f13587c5cb67372be6dfa23e8d
ADR-0131 math_teaching_corpus_v1 Math teaching corpus replays deterministically; all chains pass exit criterion (correct_rate=1.0, wrong=0) evals/math_teaching_corpus/v1/report.json eaf160d145da29f9050ede8d58bf111b0f651dd40aeae9201857d0b97e014dd4

Verification

python3 scripts/verify_lane_shas.py    # verify all Tier 2 SHAs
core test --suite full -q              # exercises Tier 1 invariants