core/docs
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
..
adr
architecture docs: add edge sync completion status 2026-05-29 19:50:44 -07:00
audit test(adr-0180): T-1..T-4 Delta-CRDT pre-refactor obligations (Python, green) (#463) 2026-05-29 10:40:52 -07:00
briefs feat(W-019): learning-arc demo — engine-authored proposal from contemplation (ADR-0152) (#276) 2026-05-25 13:03:10 -07:00
curriculum
decisions feat(GSM8K): comprehension reading → first metric move 3/47/0 → 4/46/0 (#488) 2026-05-30 09:21:48 -07:00
evals
handoff docs: semantic-state transition blueprint and ADR-0184 scope (#489) 2026-05-30 08:35:50 -07:00
handoffs docs(handoff): Brief 11 — Phase 2 reader closure + capability snapshot sequencing (#342) 2026-05-27 05:03:40 -07:00
implementation
plans docs(adr-0181): propose CORE-native audio compiler over Delta-CRDT substrate (#462) 2026-05-29 10:19:54 -07:00
research docs(epistemic): align audit terminology with runtime enum 2026-05-28 04:17:19 -07:00
sessions docs: session wrap-up (comprehension chaining + overfitting discipline) + CLAUDE.md substrate (#472) 2026-05-29 11:18:27 -07:00
workbench feat(W-028): chat surface + trace drawer (#303) 2026-05-26 13:22:11 -07:00
admissibility-exemplars.md feat(ADR-0163.B.2): four new exemplar corpora — discrete_count_statement, multiplicative_aggregation, currency_amount, plus temporal_aggregation v2 widening (#306) 2026-05-26 14:36:59 -07:00
audio_pipeline_overview.md docs(adr-0183): stub ADR for the lawful audio→lexeme path 2026-05-29 14:02:40 -07:00
capability_roadmap.md
ethics_packs.md
EVAL_AUDIT_2026-05-20.md
eval_methodology.md
formation_pipeline_plan.md
frontier_baselines.md
gaps.md
hitl-backpressure.md feat(ADR-0161.3): submission-time invariants — duplicate + dependent_on_pending auto-reject (#313) 2026-05-26 16:46:25 -07:00
holdout_recipients.txt
identity_packs.md
master-plan-post-substrate-audit.md docs(session): 2026-05-26 corridor closure — first GSM8K lift + workbench operational (#305) 2026-05-26 13:49:08 -07:00
model_dependency_size_tally.md docs: start running model & dependency size tally 2026-05-29 13:51:30 -07:00
pack_inventory_2026-05-21.md
position_paper.md Update position_paper.md 2026-05-27 18:27:18 -07:00
PROGRESS.md docs(session): 2026-05-26 corridor closure — first GSM8K lift + workbench operational (#305) 2026-05-26 13:49:08 -07:00
recognizer-registry.md feat(ADR-0163.D): wire ratified RecognizerSpecs into math_candidate_graph admissibility surface (#302) 2026-05-26 13:11:47 -07:00
refusal-taxonomy.md feat(ADR-0163.A): refusal taxonomy lane — shape categorization of GSM8K admissibility gaps (#297) 2026-05-26 11:27:11 -07:00
reviewers.yaml
runtime_contracts.md
RUST.md
safety_packs.md
teaching_order.md
test-debt-quarantine.md
truth_seeking_schema.md
Whitepaper.md
Yellowpaper.md