fix(#563): paired initials after a comma read as the given name - #567
Merged
Merged
Conversation
The trailing slot's SUFFIX_OR_NAME detail said every pick was "written without periods" and "both a post-nominal and an ordinary name". Both claims are false of a word the class admits by shape: 'X.Y.Z.' is written with its periods and is in no wordlist. A pick carrying SHAPE_ACRONYM_TAG now says it is shaped like a post-nominal but listed in no vocabulary; a listed member keeps the old wording. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
#516's dotted shape read a token after a comma by C1's count of name words before it. The count cannot tell a given name plus a family name from one surname in two words, so 'García Márquez, G.J.' lost its given name, 'De La Cruz, M.J.' had none, and 'van der Berg, A.J.' split the surname -- all read as initials from 1.4.0 through 2.3.0. Two dotted single letters opening the part after a comma now read as the given name, reported, unless a credential in front of them or a second by-shape dotted word in the same part speaks for them. Three or more letters and longer chunks read by the count as before. A flip resting only on words admitted by dotted shape is made in silence; a listed member in the part still reports it. rules.md C1 and S3 carry the exception and its examples, decisions.md records the three choices and the measurement, and the ledgers gain a fix(#563) rule while the #516 rule trades 'John Smith, A.B.' for the two by-count movers. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Review round. The first version let any suffix word in front of a pair make it a credential, and C1 counts a title/suffix dual opening the part as a suffix word, so 'García Márquez, Ms G.J.' split the surname in silence where every release read title 'Ms', given 'G.J.'. Only a suffix word that is not also title vocabulary speaks now; in front of a pair a dual is the title of the given part the pair opens, as S2 reads it there. Also from the round: the single-token path asks LISTED as "no period" inline instead of a second membership call (+2 frames on every reporting comma name, now 0); rules.md states the optional second period, the title exception and listed-dotted-word boundaries with examples, and S2 and S3 point at C1's two comma exceptions; the user docs say "suffix word" and "unlisted dotted word" where they said "credential" and "dotted word"; decisions.md names the population that could move and the entries it reverses. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…report
Second review round, on the first round's fix commit.
A listed ambiguous member in front of paired initials made them a
credential ('García Márquez, Ed G.J.' -> suffix 'Ed G.J.'), where S2's
company lets only an unambiguous credential speak for a member. Only an
unambiguous suffix word that is not also a title speaks now; the comma
keeps the family, and the pair then ends the given part, read there as
#516 reads 'Doe, John R.T.'.
Two pairs speaking only for each other still make the credential run,
but that flip reports again: 'De La Cruz, M.J. K.L.' loses its given
name, and the silence rationale ("only paired initials are taken for a
name") fails on exactly that input. This also turns the swallowed
honorific in 'García Márquez, Ms G.J. K.L.' from silent to reported.
`listed_flip` is renamed `flip_reports`, since a pair-only flip now
sets it too. rules.md C1, S2 and S3 state the silence as "no listed
word takes part" and give the pair's report its first-word reach;
decisions.md records both choices and the re-measurement.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #567 +/- ##
=======================================
Coverage 98.86% 98.87%
=======================================
Files 45 45
Lines 3959 3985 +26
=======================================
+ Hits 3914 3940 +26
Misses 45 45 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
/simplify round over the #563 changes, behavior-identical: 0 diffs over 21,604 parses (corpus, case-table strings and composed probes under four policies) against c125f69. - The speaker test rescanned every word in front of each pair, so 'John Smith, MD MD ... G.J. G.J. ...' was quadratic (duals x pairs _normalize calls). Only the first pair's scan can change the answer; it now runs once. A frame-count scaling guard pins the ratio and fails on the previous commit. - The run loop asks LISTED as "no period", the same exact stand-in the single-token test uses, instead of a second membership call. - One `pair_only` flag replaces two conditions sharing a sub-term, and `flip_reports` is set once after the run decision, so it implies `candidate` everywhere and the report gate drops that conjunct. - Comments trimmed; the rules.md quotes stay verbatim. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #563.
#516 (unreleased) read an unlisted dotted token after a comma by C1's count of name words before it. The count can't tell a given name plus family name from one surname written in two words, so initials after a double surname became a credential:
García Márquez, G.J.G.J.García, familyMárquez, suffixG.J.G.J., reportedDe La Cruz, M.J.M.J.M.J., reportedvan der Berg, A.J.A.J.van, familyder BergA.J., reportedJohn Smith, X.Y.Z.X.Y.Z.The rule (rules.md#C1)
PhD G.J.andJr G.J.flip;Ms G.J.,MD G.J.andSr G.J.read title + given;Ed G.J.keeps the family comma;X.Y.Z. G.J.,X.Y. P.Q.).García Márquez, G.J.R.→ suffix. Spaced initials (G. J. R.) are unaffected.De La Cruz, M.J. K.L.) still report.John Smith R.T.) and the end of the given part (Doe, John R.T.) keep ShouldJohn Smith XYZreadXYZas a credential when no wordlist has those letters? #516's reading. That is whyGarcía Márquez, Ed G.J.gives givenEd, suffixG.J., with both forks reported.Also fixed: a by-shape pick's report no longer says it is "written without periods" and "a post-nominal".
Verification
_segment.py.fix(#563)rule, and the guard rosters and corpus claims are re-recorded with dated comments.John Smith, A.B.; the population that could move is 13 names, and decisions.md records it.Smith, John183,John Smith, MA252).Review
cda95e9c; their fixes are in14b1c94f.14b1c94f; its fixes are inc125f69b./simplifypass ran on the code and landed in23f41308. It is behavior-identical: 0 diffs over 21,604 parses. It fixed a quadratic in the paired-initials title scan (John Smith, MD MD … G.J. G.J. …cost duals × pairs) and added a frame-count scaling guard for it.🤖 Generated with Claude Code