Repository navigation
Read a lone V, I or X after a first name as the family name (#718) - #719
Merged
Merged
Conversation
A capital V, I or X ending a name with no word to spare for it is the
family name: 'John V' and 'Malcolm X' read family V and X, as 1.4.0
read them, where 2.0.0 through 2.4.2 gave suffix V and X and no family.
'John Smith V' keeps the suffix. A numeral in lower case in a mixed-case
name is settled by its writing: still the generation, and no longer
reported ('John Smith vi').
States the comma-less numeral as rules/S10 (the trailing roman
numeral), with its decisions entry; amends P2's chain stop, P5's
words-to-spare list and M2's examples, which the count moves.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
'John V' now reports suffix-or-name while reading family V, as
'Jack Ma' reports keeping its family. The declined numeral is a pick of
the trailing walk, and three sites take its branches, so three report
it: assign (a lone name word), the particle chain ('Freiherr von
Richthofen V'), and a maiden clause that keeps it ('abdul nee Smith V').
A letter classify already reported as an initial reports nothing new
(INV10 found 138 one-case rows, 'HENRY I', carrying both kinds).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
S10's Accepted clause named every listed lowercase letter where only
'v' bypasses the count ('john i' is counted, as P3's connective read as
an initial), and left out that 'john smith v' reports nothing. P3's
"is the generation it also spells" now defers to S10; O5's example is
'John III, Dr.', 'John V, Dr.' no longer being a lone word; the H3
contrast comment and the release bullet ('Dr. Smith V' moves the
surname into first) catch up. The case row that lost its H1 reading is
renamed for what it pins, and says that nothing pins H1 behind a comma.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Code review found the chain's bound in a family comma's given part asking the count through tail_reading, which assign's walk there never asks (S4: "read without it"), so the chain took the V of 'Smith, Freiherr von Berg V' into the given name, unreported. The bound now reads with count_numeral=False and the four shapes read as on master. Two case rows pin it; AGENTS.md's group-side-predictor gotcha records the from-the-peel side of the class. Also: assign uses the shared _AMBIGUOUS_CREDENTIAL_TAGS rather than a second spelling of it, and group's Produces: line lists the chain's and clause's reports. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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 #719 +/- ##
=======================================
Coverage 99.03% 99.03%
=======================================
Files 46 46
Lines 4557 4575 +18
=======================================
+ Hits 4513 4531 +18
Misses 44 44 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Comment review: fix labels that contradict 1.4.0 ('John III' is no
parity row, 'John III, Sir' is one, 'abdul Doe nee Smith V' is #274's),
and comments this change made stale (assign's deferral note and module
docstring, group's 'abdul V' reserve example, _vocab's claim that X is
suffix vocabulary).
Test review (mutation of each emitter in a copy): the particle chain's
numeral report only chose a sentence -- assign reports the same kind
from the final role -- so it is gone, as is the maiden clause's
stand-down, which could never fire. The clause's report on a numeral
it gives up now asks the case, so 'Jane Doe nee Smith vi' is silent as
every other path is. New rows pin the chain-taken numeral, its
already-an-initial stand-down, 'John VI', family-first 'John V', the
lowercase pair 'John x'/'john x' and the maiden-clause case contrast;
five rows restoring 1.4.0 field for field are relabelled parity.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
/simplify pass over PR #719, behavior-neutral (snapshot unchanged): - a numeral its lower case settles is taken by the walk like any suffix word and recorded as no call, so assign and the maiden take stop re-asking numeral_settled_by_case -- the drift #718's review found in the clause can no longer recur - the one-letter test asks is_single_letter_numeral rather than a hand `len(text) > 1` - reported_as_initial moves into _assign, its one caller, and _pieces drops the two ambiguity imports it needed - flatter control flow in assign's numeral pick; one duplicated comment sentence and a long case note trimmed; the given-slot bound's comment says only the numeral half is uncounted 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 #718.
What changes
A single capital
I,VorXending a name written without a comma now needs a word to spare, counted exactly as rules/S4 (the ambiguous acronym needs words to spare) countsMa: in name units, a particle chain counting as one word and a title as none.John VMalcolm XDr Smith VJohn Smith VJohn W. Ingram VJohn Smith visuffix-or-name, both ways asJack Madoes (Derek's call), from one site: the declined numeral stays one of the trailing read's picks. The one exception is a letter that classify already reported as an initial (HENRY I, one-casei), which reports nothing new.Docs
Freiherr von Richthofen V)John III, Dr.)implemented:/interacts:)What moved (snapshot diff)
Four pre-existing corpus names:
John V→ family VMohamad X→ family XJohn née Jones Smith V→ maiden 'Jones Smith V', since the clause-free nameJohn Vno longer reads the V as a suffixFreiherr von Richthofen V→ family 'von Richthofen V': behind a title the chain is the one name word, the same readingFreiherr von Richthofen Maalready getsThe snapshot also gains S10's examples as new names. Re-pinned case rows are listed in decisions/S10; the two whose purpose needed a suffix kept their purpose on
IIIspellings, and the old inputs became new rows.Review
i; P3 and O5 were stale; the release bullet missedDr. Smith V.Smith, Freiherr von Berg Vread given 'von Berg V', unreported, across 2,880 grid parses. Fixed in ede4d25. A second pass re-ran the same 558,423-parse grid over the fix commits: 0 unreported numeral moves remain (2,880 before), every reading ede4d25 changed equals master, and the flag introduced no new divergence.Jane Doe nee Smith vi). It now asks the case, as assign does./simplify(reuse, simplification, efficiency, altitude): behavior-neutral cleanups in 4ac5a06. The lowercase case decision is now made once, in the walk; the one-letter test reusesis_single_letter_numeral; andreported_as_initialmoved into_assign. Efficiency was measured: at most +1 frame, only on names ending in a numeral.Elizabeth II, Queenread Elizabeth as the given name, the wayQueen Elizabeth IIdoes? #720 (H1 behind a comma) and Shouldjohn vread V as the family name, asJOHN Vandjohn xdo? #721 (john v).For Derek
Freiherr von Richthofen Vnow reads family 'von Richthofen V'. That's consistent with S4 (... Ma), but it is a corpus name.john v(one-case, lowercase) still loses its family, whilejohn xandJOHN Vkeep theirs. A lowercasevis a listed suffix word and never reaches the fork. This is recorded as Accepted in S10; closing it would mean touching the suffix-vocabulary path.John V, Sirwas the only spelling where a given-name title behind a comma kept the lone word as the given name (H1).John III, Sir,John Jr., SirandJohn PhD, Sirread family on master already. The row is renamed for what it pins. A follow-up issue is worth drafting.Berg nee MA Vused to report the clause's keptMA; now the clause keepsMA Vand reports only the V.Checks
test_benchmarkpasses.🤖 Generated with Claude Code