Repository navigation
Should a glued honorific peeling off a pre-comma family name have its own rule? (王先生, V. is claimed by a rule describing a compound that never happens to it) #496
Description
Activity
Closing as no — the family-side twin should not be added.
The measurement that settles it
Every name that would need the rule is radar tier. Checked against
compare._CORPUS_TIERS(read from the roster, not rebuilt by hand):name file tier 王先生, V.corpus_cjk_tolerated.jsonlradar 田中さん, V.corpus_cjk_tolerated.jsonlradar 김민준씨, V.corpus_cjk_tolerated.jsonlradar So is
김, 민준씨, the name #382 was filed about, and every other name in the
compound/peel contest — 17 of 17. On the radar tier an unmatched diff is
reported and never fatal, so nothing can demand a rule for any of them.
corpus_cjk_tolerated.jsonlis the file #488 created by demoting the composed
comma/Latin-wrapper CJK forms to tolerated input, precisely because they are not
arrangements the writing systems produce.The one contract-tier name in this neighbourhood is
马丁·路德·金씨
(corpus_rules.jsonl), and it belongs tofix(#272/#308), the nakaguro rule —
a different pair, unaffected by this question.Why that is decisive rather than merely permissive
#495 asks whether the radar-only rules already in the ledger still earn their
place, and records thatfix(cjk-comma-compound)has zero contract-tier reach.
This issue proposed adding a second rule for the same radar names. The two
point in opposite directions, and #495's is the coherent one: the open question
about this corner is whether it needs fewer rules, not more.Adding one would buy a
_CORPUS_CLAIMSentry, a_CROSS_RULE_WINNERSshuffle
and a new hand-copied honorific alternation — all to relabel names no gate
answers for.What stays true, and where it is written
The finding that prompted this is real and is not being discarded: on
王先生, V.,田中さん, V.and김민준씨, V.the holding rule's label is wider
than the name is. Their whole diff is the glued peel — no comma routing, no order
flip — and they sit onfix(cjk-comma-compound)because its criterion is "the
diff includesfamily", withfamilymoving only because the peel took the
honorific off it.That is recorded in two places that survive this issue closing:
- the
precedes_narrowerblock onfix(cjk-comma-compound)in
expected_since_1.4.0.toml, which states outright that for these three the
winner is the least wrong reading available rather than the right one; decisions.md#differential-ledger(the rule-order arc), under "One exemption
says 'least wrong reading available', and that is a finding about the ledger's
vocabulary."
Both now cite this issue as weighed-and-declined rather than as an open gap.
Reopen this if a pre-comma glued-honorific name is ever promoted to a contract
corpus — that is the fact that would change the answer, and it is one line to
check.Recompute: read
compare._CORPUS_TIERS, walkcorpus*.jsonl, and take the tier
of each name (a name held by both tiers reads contract, matchingmain()'s
dedup). Do not rebuild the file→tier map by hand —corpus.jsonlis the largest
corpus and it is RADAR, which is the mistake this arc already made once (#497).- the
- added a commit that references this issue
on Sep 3, 2026
Rationale
fix(cjk-comma-honorific-peel)inexpected_since_1.4.0.tomlcovers a gluedhonorific peeling off the post-comma given name —
김, 민준씨→ given민준, suffix씨, family byte-identical. Its comment is explicit that thisis the whole of what happens: "the comma already fixes family/given order on
both sides, so NO order flip happens --
familyis byte-identical. The onlychange is #312's peel."
There is no family-side twin. So the mirror shape — a glued honorific peeling
off the pre-comma family name — has no rule of its own, and falls to
fix(cjk-comma-compound) comma routing compounds with the CJK order flip,which describes neither thing that happens to it.
Measurement (2026-09-02, c1a98a9 + the #382 branch)
Three names reach
fix(cjk-comma-compound)with no comma routing and no orderflip. Measured against the 1.4.0 wheel, the entire diff is the peel:
王先生, V.V., last王先生V., family王, suffix先生田中さん, V.V., last田中さんV., family田中, suffixさん김민준씨, V.V., last김민준씨V., family김민준, suffix씨The post-comma piece is the given name on BOTH sides — no routing change — and
the remaining family is unsegmented, so nothing flipped. Two more names
(
Dr 田中さん, V.,田中さん, Ph. D.) are the peel plus a first→last movement,so the compound rule's order-flip half carries them while its comma-routing
half does not.
They land on the compound rule because its stated criterion is "#312 sends
only the glued-honorific comma rows whose diff includes
family" — andfamilymoves here only because the peel took the honorific off it. Thecriterion selects them; the prose does not describe them.
Recompute: run
tools/differential/compare.py --baseline 1.4.0and read whichrule classifies each name, or parse each string at HEAD and against the 1.4.0
wheel and compare the field moves.
Why this surfaced now
The #382 rule-order work added a check for pairs whose winner file order alone
decides.
fix(cjk-comma-compound)sitting ahead offix(cjk-glued-honorific-peel)is one of them, and writing itsprecedes_narrowerreason is what exposed that the honest justification isnot "the earlier rule describes a compound". It is "the later rule's prose
disclaims comma names, so a reorder would mislabel the genuine compounds
(
田中さん, 様.,김민준씨, J.씨) that also sit here". The exemption in #382says exactly that rather than papering over it.
This is the #372 failure mode in miniature — a rule claiming a diff it does not
describe — and it survived because every one of these names is radar tier
since #488, where an unmatched diff is reported and never fatal. Nothing forced
anyone to look.
Options
fix(cjk-comma-honorific-peel-family)orsimilar, written narrow-first ahead of the compound rule, claiming the three
pure peels. Cost: a new rule and a
_CORPUS_CLAIMSentry; the compoundrule's reach and any
_CROSS_RULE_WINNERSrows for those names move, andShould file order be allowed to separate ledger rules within a tier? (
김, 민준씨is claimed by whichever of two rules comes first) #382'sprecedes_narrowerreason for the pair would then be rewritable asthe plain compound story it was supposed to be.
family" tosomething that names the routing or the flip, and let the pure peels fall
where they land. Cost: they may become UNCLASSIFIED — harmless on radar, but
it is a report nobody reads rather than a rule nobody wrote.
carries a rule whose label is untrue of three of the nine names its position
wins, with the reason recorded only in a
whyblock.Not in scope
Rule ORDER. #382 settles that: the pair is declared and the order stays,
because a reorder would mislabel the true compounds. This issue is only about
whether the pure-peel shape deserves its own rule.
Blocked by
#382 — its exemption reason is where the caveat currently lives, and option 1
would rewrite it.