Tsumugu maintenance: crib_diff learns to catch misquotes; 273 surface
Tsumugu maintenance pass (2026-06-14)
A refinement day after TOCFL A–C closed. Three research/tooling jobs ran in parallel; the headline is that the dual-crib cross-check finally became trustworthy and surfaced real misquote debt.
crib_diff: from noise to a real signal
The 1,011 ⚠ CONFLICT banners were over-reporting badly. Diagnosis in stages:
- Parser noise. The composition comparator split on
·but not on Grok’s+, and counted role-label differences (義 vs 形 on the same glyph) as conflicts. Hardening the parser (all separators, glyph-set + phonetic, role-agnostic) cut composition conflicts 1,011 → ~391. - Composition is the wrong axis. Even hardened, composition diffs are mostly legitimate analytical/format divergence between two independent cribbers — too noisy to gate on.
- The real catch is the gloss. A misquote corrupts the 說文 也-gloss (敵’s 仇也 vs the wrongly-carried 勍 gloss 彊也). Comparing the first
…也clause is the verifiable atom.
Change made: shuowen_conflict (gloss mismatch) is now the ⚠ CONFLICT trigger; composition/wording differences demote to an informational cross-check note. Result: 273 genuine 說文-gloss conflicts corpus-wide, down from 1,011 noise — and they are real:
- 苛: grok「病也」(loan sense) vs cursor「小草也」(orthodox 說文).
- 乳: grok「玄鳥也」 — the wrong character’s gloss, the adjacent-entry error, the same one Grok stuck on 乙.
- 三, 久: grok circular/paraphrased; cursor correct.
Grok has a recurring adjacent-entry misquote pattern — exactly the failure class the dual-crib line was built to catch.
Correction to yesterday’s “audit clean”
I called the 123 single-source audit clean (0 misquotes). That was premature — my ad-hoc extraction wasn’t finding comparable glosses, so it compared nothing. With the real criterion: 15 of the 123 have genuine gloss conflicts (競 罷 耽 蠶 衫 覆 誇 誕 贏 醉 醋 鈔 鋪 預 齒), part of the 273 corpus-wide. The single-source debt is not cleared; it’s now precisely scoped and exported (batches/maintenance-2026-06-14/GLOSS-CONFLICTS.md + .txt).
Also done
- Queue auto-promote:
crib_diffnow sets merged-crib chars toqueued(authored stays authored), killing the recurringresearched→queuedgate that bit three times. Validated: 0 demotions, 0 bad re-queues. - Phonetics (Grok + Composer):
PHONETIC UNRESOLVED144 → 50, the 50 being the genuine 無聲 floor (會意/pictographs). - Scholar-notes mirrored onto 119 sibling entries — every orthographic-twin pair now carries the split explanation on both sides, so a reader landing on either is self-served.
- Tree green throughout: 9,663 entries valid.
Outstanding
- 273 gloss-conflict adjudication — the real quality backlog. Mostly Grok glosses that Cursor corrects; an Opus pass over
GLOSS-CONFLICTS.txtfixes the grounding. The biggest genuinely-owed item now. - 50 no-phonetics — verify they’re truly 無聲, then close.
- Reach: 579-word frequency tail; C2 (needs external list).
- All of the above is uncommitted (host-side
.gitmount-block) — needs a host-side commit.