Repository navigation
Read a Spanish compound given name written with a particle as a middle name by default (#704) - #1058
Merged
Merged
Conversation
…e name by default (#704) rules/P10 (a given name a particle completes): behind a one-word given name read given-first, a particle chain opening with a particle run and a word written after_particle reads that run and word as a middle name, so "María del Carmen García" gives middle 'del Carmen', family 'García' (1.4.0 through 2.8.0: family 'del Carmen García'). A run holding a saint particle (san, santa, st) is never such a phrase, "Domingo Santa María González" keeping family 'Santa María González'; the saint kind compiles into an internal SAINT_PARTICLES. O7 takes the phrase as it takes any middle unit, so its own phrase path goes. An ambiguity's alternative behind a particle chain now names the field of the chain's last word, which P10 leaves the family. Measured against master 3b29377: PSC 90 fixed, 8 broken; ORCID 3,881 fixed, 46 broken; under the switches only the saint clause moves a corpus name. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… reach, P10's signals and examples, the O6 cut the alternative anchor does not follow - shared now keeps a given name P10 would complete (Kaur del Carmen García), so the README, AGENTS.md, mul.toml and the code comments name P10 beside O6 and O7 and drop "moves nothing by default". - P10: its Signal line names the saint and given-name lookups, its patronymic clauses cite R9, the family-first example shows the exception, a connective-joined unit and the Portuguese reach get rows. - decisions/P10: the TSE moves are mostly Portuguese phrases (ORCID Portuguese-speaking countries 53 fixed, 6 broken); the de María and run counts restated by their filters; the Wikidata record and the changed PSC records described as they are; O6's family-first cut recorded as the one split the alternative anchor does not follow. - Test rows: O6 over a saint-opened family, and P10's guards under the default policy (a family comma, a patronymic, a mark). - usage.rst's particle row and the release bullet name the reading. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…only where P10 split it, and the remaining doc fixes The first fix named the alternative from a chain's last word always, which rules/O6's family-first cut (laying the tail out by the order) turned wrong: 42 rows of the review grid newly named 'given' under FAMILY_FIRST with two_family_names and middle_as_family, where master named the right family. Beside now carries both ends, and assemble names the last word's field only where it stayed the family under a head that left it, not where P6 attached it. On the review's grid 132 alternatives move against master, each to the right field; across every committed corpus name under every order and switch pairing none moves. Docs: decisions/O6's and O7's stale O7 and dels lines, the dels question reopened under decisions/P10, recipe filters stated, the singh note, ste in the saint lists, P10's Signal line and P3 citation, and the pipeline AGENTS.md lesson restated for both splits. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Nov 4, 2026
Closed
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.
Part of #704: the default reading the first PR (#1057) left open. This moves default parses.
What changes
New rule P10 (a given name a particle completes). Behind a one-word given name read given-first, a particle chain that opens with a particle run and a word whose
givenreading is writtenafter_particlereads that run and word as a middle name, and the chain's other words as the family.María del Carmen Garcíadel Carmen Garcíadel Carmen, familyGarcíaMaría de los Ángeles López Pérezde los Ángeles López Pérezde los Ángeles, familyLópez PérezMaria do Carmo Silvado Carmo Silvacarmonot marked)Domingo Santa María GonzálezSanta María GonzálezMaría del Carmendel Carmensaintparticle (san,santa,st,ste) never forms a phrase.Santa Maríais a surname: in ORCID, a saint particle stands before a marked word in 0 given boxes and 7 family boxes. Thesaintkind now compiles into an internalSAINT_PARTICLESset, the wayPATRONYMIC_PARTICLESdoes. This keeps thede Maríagiven phrases, which droppingmaríafrom the list would have lost.Domingo Santa María González.Jairo do Valle Cardoso FilhoreportedFilhoas "name as middle"; it now reports "name as family". The TSE run found this.Measurements (2026-11-04, against master
3b293777with--base)local_agreement.py psc-individuals --base)local_agreement.py orcid-researchers --base)snapshot.py --local tse-donors --base): 1,561 of 854,531 Brazilian names move, in family and middle only (for exampleADRIANA DO SOCORRO MARTINS XAVIER). That corpus has no fields, so this measures reach, not agreement.del Valle18,del Rosario12,de Jesús5,de Fátima4. P10's Accepted section records this.María del Pilar Hurtado Montaño, re-recorded.Review round 1 (four reviewers; fixed in 280179d)
sharednow affects a default parse. P10 never completes a shared name, soKaur del Carmen Garcíakeeps familydel Carmen Garcíaby default. Every doc that saidsharedmoves nothing with the switches off now names P10.de Lourdes519,do Socorro491 andde Fátima228. ORCID's Portuguese-speaking countries: 53 fixed, 6 broken. The release bullet, rule and decisions now say so.Review round 2 (9598f27)
FAMILY_FIRST+two_family_names+middle_as_family).Besidenow carries both ends of the chain. Assemble names the last word's field only where that word stayed in the family under a head that left it, which is P10's split. A last word P6 attached to the family keeps the head's field.delsquestion reopened under decisions/P10 (its old reason is void now that P10 reads the phrase by default); recipe filters stated; the singh note;steadded to the saint lists; P10's Signal line and its P3 citation; and the pipeline AGENTS.md lesson restated for both split directions.Docs
after_particlerow), AGENTS.md compiled-set bullet,nameparser/_pipeline/AGENTS.md(the Beside lesson), customize.rst (doctested), and a release-log Behavior Changes bullet.rules_budget.jsonre-recorded (P10 new; O7 shrinks).Checks: full suite, serial benchmarks, mypy, ruff and sphinx doctest pass.
🤖 Generated with Claude Code