core/docs/handoff
Shay 65d857e72a
feat(adr-0179): integrate EX-1/EX-4/EX-5 extraction richness (sealed lane) (#455)
Reconciles ChatGPT's four independently-branched extraction PRs (#451/#452/
#453/#454) into one coherent generate/derivation/extract.py. They each rewrote
the same file + same new test off main, so they conflicted pairwise and needed
integration, not a merge.

Integrated (span-tracked, most-specific-pass-first so numbers are never double
counted):
- EX-1 word-numbers (#452): reuses WORD_NUMBERS; tens-one hyphen compounds;
  factor-bearing half/third/quarter excluded.
- EX-4 list-unit inheritance (#451): bare numeric list with one trailing unit.
- EX-5 sentence-final numbers (#454): bare final number with empty unit.

Deferred: EX-3 multi-word units (#453). Its greedy lowercase span reads
"6 apples and 4 apples" as unit "apples and", regressing GB-2's
test_same_unit_list_sums, and still can't recover real multi-word units from
0024-class text ("jumping jacks on"). Needs a tighter rule; see
docs/handoff/AUDIT-ADR-0179-EX-RECONCILE.md.

Verification (sealed lane only; chat/ does not import this module):
- Serving frozen: lane-SHA 8/8 match, generate_claims --check OK -> 3/47/0
  byte-identical, wrong=0 held.
- Sealed practice improved 4/2/44 -> 4/1/45: case 0025 flips wrong->refused.
  EX-1 reads "three", so completeness sees a quantity the 6x50 chain omits and
  refuses the spurious 300 (gold 1200) instead of committing it.
- No new test failures (3 pre-existing on main).

Also fixes stale test drift from EX-2 (#447): TestDecimalGroundingGapIsDeferred
asserted decimals still refuse, but #447 made $0.75-class resolve to 864.
Renamed to TestDecimalGroundingResolves and updated to assert the flip.

Honest scope note: EX-4 does NOT unblock real case 0024 (its PR test used a
fabricated bare-list paraphrase). TestRealCase0024StillBlocked pins the true
boundary.
2026-05-29 08:43:03 -07:00
..
phase-3b-4-skeleton docs(handoff): phase 3b+4 skeleton pack — tests + en_core_names_v1 starter 2026-05-28 10:01:05 -07:00
ADR-0084-pack-content-brief.md
ADR-0085-content-style-pass-brief.md
ADR-0085-content-style-pass-v2-brief.md
ADR-0167-FOLLOWUPS.md
ADR-0167-PARALLEL-WORK-PLAN.md
ADR-0167-W2C-cross-domain-audit.md
ADR-0172-TIER1-BRIEF-PACK.md docs(ADR-0172): fix evidence-module path in Tier 1 brief pack (#381) 2026-05-27 12:18:19 -07:00
ADR-0174-PHASE-3B-4-COMBINED-SCOPE.md docs(handoff): ADR-0174 Phase 3b + Phase 4 combined scope 2026-05-28 09:54:45 -07:00
AUDIT-ADR-0178-GB1-GB2.md audit: ADR-0178 GB-1/GB-2 lookback (findings only — no code change) (#450) 2026-05-29 08:42:58 -07:00
AUDIT-ADR-0179-EX-RECONCILE.md feat(adr-0179): integrate EX-1/EX-4/EX-5 extraction richness (sealed lane) (#455) 2026-05-29 08:43:03 -07:00
BRIEF-11-phase-2-reader-closure-and-capability-snapshot.md
CHATGPT-REMOTE-BRIEF.md docs(handoff): remote-work brief for ChatGPT connector (audit GB-1/GB-2 + ADR-0179 sealed extraction) 2026-05-28 17:44:48 -07:00
CLEANUP-C2-run-lane-migration.md chore(audit): substrate cleanup — dead spike, gitignore, deprecation, reader diagnosis 2026-05-28 07:00:33 -07:00
CLEANUP-C4-compositions-compile.md chore(audit): substrate cleanup — dead spike, gitignore, deprecation, reader diagnosis 2026-05-28 07:00:33 -07:00
CODEX-domain-pack-closure-cleanup-brief.md
CODEX-greek-hebrew-content-phase-ii-brief.md
COMPOSITION-FRAME-CONSUMPTION-WIRING-BRIEF.md docs(consumption-wiring): brief for closing Frame + Composition loop halves (#396) 2026-05-27 16:14:50 -07:00
COMPOSITIONCLAIM-BRIEF-PACK.md docs(compositionclaim): brief pack — ADR-0169 doctrine + handler + heuristic tightening (#390) 2026-05-27 14:46:24 -07:00
COMPREHENSION-READER-AUDIT.md docs(brief-C): comprehension reader audit — zero eval delta diagnosis + next steps 2026-05-27 20:45:31 -07:00
CONSUMPTION-WIRING-DISPATCH-PACK.md docs(consumption-wiring): operator dispatch pack (CW-1 + CW-2) (#397) 2026-05-27 16:16:41 -07:00
DCS-S1-FINDING.md
discrete_count_statement-injector-spec.md
MATCHER-EXTENSION-DISPATCH-PACK.md docs(matcher-extension): dispatch pack (ME-1) (#399) 2026-05-27 16:17:30 -07:00
ME1-ME5-MILESTONE.md feat(matcher-extension/ME-5): integration smoke + ME-1..ME-5 milestone 2026-05-27 17:35:10 -07:00
PHASE-3.1-FOLLOWUP-RECOGNIZER-EXPANSION.md feat(adr-0174-phase3a): lookback re-evaluation operator + pronoun resolution substrate 2026-05-28 10:49:20 -07:00
POST-RAT1-PARALLEL-BRIEFS.md docs(post-rat1): four parallel dispatch briefs (B/C/D/E) 2026-05-27 20:24:39 -07:00
TIER2-AND-FRAMECLAIM-BRIEF-PACK.md docs(tier1.5+tier2): FrameClaim handler + Tier 2 W5 schema brief pack (#387) 2026-05-27 14:05:53 -07:00
VERB-EXPANSION-DISPATCH-PACK.md docs(handoff): require multi-actor pronoun safety test in VE-A/B acceptance 2026-05-28 09:19:46 -07:00
WAVE-NEXT-REVISED.md
WORKBENCH-UI-WAVE-BRIEF-PACK.md docs(workbench-ui): wave brief pack (W1..W4) (#395) 2026-05-27 15:35:05 -07:00
WORKBENCH-UI-WAVE-SCOPING.md docs(workbench-ui): scoping brief for UI wave (W0..W4) (#392) 2026-05-27 15:09:58 -07:00