core/docs/adr/ADR-0136.S3-compound-initial-mutation.md
Shay 54e6bfc0d0
docs: reorganize docs landscape
Implements the 4-phase documentation reorganization master plan.

- Consolidation: Merged brief/, handoff/, planning/, and decisions/ into briefs/, handoffs/, plans/, and adr/ respectively (101 ADRs relocated)
- Root Cleanup: Relocated HANDOFF-gpt55-*.md and key top-level docs (runtime_contracts.md, etc.) to canonical folders. Added superseded alerts.
- Indices & Navigation: Created docs/README.md navigation document, docs/sessions/README.md index, docs/adr/README.md index
- Note: Also includes prior commit adding ADR-0200+ corpus hygiene governance (ADR-0225, dependency map, backfilled cross-references)
2026-06-30 16:59:36 -07:00

4.4 KiB

ADR-0136.S.3 — Compound Initial-Mutation Extractor

Status: Accepted — regex patterns scheduled for removal under ADR-0164 Phase 3; closed-set vocabulary preserved as lexicon seed Parent: ADR-0136 (Statement Layer Corridor) — see ADR-0136 §Amendment 2026-05-26 Date: 2026-05-23

Context

The v2 refusal taxonomy (ADR-0136.S.2) identified 6 cases with compound_statement as primary barrier. These cases contain two operations fused into a single sentence. S.3 targets exactly one canonical shape — the initial-mutation form:

<Entity> had <N> <unit> [initially], but [then] <verb> <M>.

This is the simplest compound shape: a single derived InitialPossession(entity, N ± M, unit) candidate, same topology as _CONJ_EMBEDDED_RE's SUM-emission pattern. Other compound shapes (fraction-of-remainder, percentage-of, age-multiplier, verb-conjunction) are structurally different and out of scope.

Decision

One shape, not "all of compound_statement"

The 6 compound_statement cases represent at least 5 distinct structural shapes. S.3 ships one extractor for the initial-mutation form only. Bundling multiple shapes would conflate distinct parser risks and violate the one-shape-per-PR discipline.

Closed verb sets

Past-tense only (the "had N, but then verb M" form requires past tense):

Subtract: lost, gave, gave away, used, spent, ate, dropped, sold

Add: gained, got, received, found, earned, picked up, bought

No wildcards. Verbs not in either set cause the sentence to refuse (not wrong).

No short-circuit path

Per ADR-0137's subsumption directive, the extractor produces a CandidateInitial that flows through the existing graph machinery. No new bypass route was added.

Negative-result refusal

If N - M < 0, the extractor refuses. Emitting a negative quantity would violate the solver's non-negative invariant.

Per-Case Impact

Case v2 Barrier S.3 Effect Post-S.3 Barrier Why
0010 compound_statement Shifted fraction_operand Sentence 1 now parses (Yun, 8, paperclips); sentence 2 "1/4 more than" blocks
0012 compound_statement No change compound_statement "his fish ate half of them" = compound + fraction + coreference
0013 compound_statement No change compound_statement "uploads 10 one-hour videos each day" = nested embedded quantifier
0016 compound_statement No change compound_statement "2 more than 5 miles" = comparative arithmetic, not init-mutation
0032 compound_statement No change compound_statement "draws and colors 10 pictures" = verb conjunction, not init-mutation
0033 compound_statement No change compound_statement "7 times her age" = multiplier, not init-mutation

GSM8K Admission Count

Metric Pre-S.3 Post-S.3
Admitted (correct) 3 3
Wrong 0 0
Refused 47 47
Barrier shifted (v2 → v3) 1 (gsm8k-0010)

Direct admission delta: 0. gsm8k-0010's sentence 1 now extracts cleanly but sentence 2's fraction_operand blocks the case from admitting.

Axis Lane

24 curated cases at evals/math_capability_axes/S3_compound_initial_mutation/v1/:

Category Count Gate
subtract_canonical 4 answer == expected
subtract_synonym 7 answer == expected
add_canonical 4 answer == expected
add_synonym 5 answer == expected
refusal_negative_result 2 answer is None
refusal_verb_miss 2 answer is None

All 24 pass, wrong = 0.

Cross-Lane Regression

  • S.1 rate_events: 20/20 pass, wrong = 0
  • S.3 axis lane: 24/24 pass, wrong = 0
  • GSM8K admission set: {0014, 0018, 0042} (unchanged)

Deferred

Every other compound shape from the 6 cases:

  • 0012: "his fish ate half of them" — compound + fraction + coreference
  • 0013: "uploads 10 one-hour videos each day" — nested embedded quantifier + temporal
  • 0016: "2 more than 5 miles" — comparative arithmetic expression
  • 0032: "draws and colors 10 pictures" — verb conjunction (single object, multiple verbs)
  • 0033: "7 times her age" — age-multiplier compound

Evidence

  • Parser addition: generate/math_candidate_parser.py (_INIT_MUTATION_RE, _init_mutation_candidates)
  • Axis lane: evals/math_capability_axes/S3_compound_initial_mutation/v1/
  • Tests: tests/test_adr_0136_S3_compound_initial_mutation.py