Head vocabulary gets one owner, and the holdout says the recovery generalizes
The recovery carried its own copy of the head words. That is the drift legalReferenceGrammar was extracted to end, one module along: the first time a jurisdiction, era or house style adds a container word to CONTAINER_RE, a duplicated vocabulary in the recovery silently stops following it and the detector quietly loses exactly the documents the new word was added for. CONTAINER_WORDS / SCHEDULE_WORDS / SECTION_WORDS / DECIMAL_LABEL are now named once and consumed by both the per-line matchers and SENTENCE_JOIN_RE. The terminator class is widened to closing brackets and guillemets for the same reason - the guard is about the ANTECEDENT, not a punctuation dialect. Behaviour-identical on the mini corpus (16 refused / 4,414 resolved / 9.1%). GENERALIZATION, the number that matters more than the mini corpus. The LegalBench-RAG holdout split is 55 documents (17 contractnli, 20 cuad, 18 maud) derived by skipping every document the mini derivation touched, so it is disjoint by construction and nothing in this round was tuned on it. Run once, question-blind, baseline 285b86f7 -> HEAD: documents refused 14 -> 9 (maud 9 -> 5, cuad 3 -> 2, contractnli 2) references resolved 3,879 -> 5,150 (+33%; maud 3,368 -> 4,520) accepted refs miss 17.2% -> 10.5% (maud 17.8% -> 10.3%) detected 12,025 and external 2,008 UNCHANGED Same direction, same shape, similar magnitude as the corpus the thresholds were placed on, and the miss rate falls while 27% more references are accepted. The mechanisms are extraction facts rather than drafting conventions - a run of spaces is a lost line break, a heading follows the end of a line - which is why they carry. Census script takes XREF_SPLIT / XREF_CORPUS so the two splits and a baseline worktree run the identical instrument. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01H9ToHYJVDxfeJcJwdzrP2H
| Repository | eliziff/Beaver |
|---|---|
| Author | Eli Ziff <eliasziff@gmail.com> |
| Authored | |
| Parents | 191c512f |
| Stats | 2 files changed , +45 , -15 |
| Part of | SourceDoc / DOCX engine: redlines, tracked changes, editing benchmark |
Capture this commit into my fork
Download a Markdown prompt that tells Claude how to port this
exact commit into your working tree. Run it via
claude -p < capture-commit-54be6001.md
from inside the repo you want the change in.