Repository navigation
Open
Labels
initialsReading initials and the initials() view (rules/T)Reading initials and the initials() view (rules/T)matchingName matching: Parser.matching(), check() and keys()Name matching: Parser.matching(), check() and keys()
Description
Measured on master 970b54e, 2026-11-11, Parser().matching().check:
| Pair | Given | Middle | Consistent |
|---|---|---|---|
J.P. Smith / John Paul Smith |
initial |
initial |
yes |
J. P. Smith / John Paul Smith |
initial |
initial |
yes |
JP Smith / J. P. Smith |
initial |
one-side |
yes |
JP Smith / John Paul Smith |
conflict (JP / John) |
one-side |
no |
Jp Smith / John Paul Smith |
conflict |
one-side |
no |
The parser reads JP as one given word, so the match never sees two initials. The outcome is not transitive: JP matches J. P., and J. P. matches John Paul, but JP does not match John Paul. #1264's table listed only the dotted J.P. Smith, which it settled.
How often (2026-11-11): a script counted two-word names across the 16 local corpora, excluding names written wholly in capitals.
- 2,013 names read
XY Smithwith givenXYand no middle, whereXYis 2–3 capital letters followed by a capitalized word: orcid-researchers 1,295, jrc-names 571, ctgov-officials 114, patentsview-inventors 26, ukec-individuals 5, nepal-candidates 2. - For comparison, 3,160 are written
X. Y. Smith. - Only 812 of the 2,013 (373 distinct words) hold no vowel, which is an upper bound on how many are plainly initials.
- The rest collide with names written in capitals:
LI,MA,KIM,LEE,WU(surnames written first in capitals), andALI,BOB,IAN,TIM,SAM,ED,AL,MD(Muhammad). Shape alone cannot decide them.
Options:
- (A) In the match only:
- When: the given word is 2–3 capital letters with no vowel, in a name not written wholly in capitals, and the other side has a given name.
- Then: the word's letters are compared as initials against the other side's given and middle names, in order, and the row reads
initial. - Because: writing initials without stops is common in bylines and registries, and the match already reads
JPagainstJ. P. - Accepted: a vowel-less given name written in capitals, or a consonant-only Chinese or Korean romanization in capitals (e.g.
NG), reads as initials.
- (B) In the parser: read such a word as initials, so
given/middleholdJ/P. This belongs with ShouldArmitage JOread family 'Armitage'? A surname followed by initials, with no comma, reads the initials as the family name #1137 (Armitage JO), which asks the same question of the family slot, and moves parse output. - (C) Leave it. A caller can normalize first, and the asymmetry is documented in docs/matching.rst.
Open:
- A, B or C, and if A, is "no vowel" the right gate?
Ycounts as a vowel in the figures above. - Should a three-letter run map to given plus two middles, or should a caller's
checkrequire the other side to have that many given and middle names? - Do the keys need an
XYform so the key guarantee holds under (A)? TodayJP Smithis keyed byjp, notj.
🤖 Generated with Claude Code
Metadata
Metadata
Assignees
Labels
initialsReading initials and the initials() view (rules/T)Reading initials and the initials() view (rules/T)matchingName matching: Parser.matching(), check() and keys()Name matching: Parser.matching(), check() and keys()
Activity