Repository navigation
Join عبد to a listed name of God past the first name word, so طارق عبد العزيز reads family عبد العزيز (#694) - #1070
Merged
Merged
Conversation
…لعزيز reads family عبد العزيز (#694) A bound given name written `before_article` (a new bound_given property, compiled into the internal Lexicon set bound_before_article) joins a plain name word after it that opens with the Arabic article ال past the leading join's piece, the pair one unit placed by position. ar.toml writes it on عبد. Before a word with no article عبد is a name of its own (نوال عبد هاشم), which ORCID's family boxes measured. The Latin abdul is unchanged; decisions/P5 records why, with the PSC and ORCID scores. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…s one family word for O6 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… Then, lessons)
…re-694 # Conflicts: # docs/release_log.rst # tests/v2/rules_budget.json
…re-694 # Conflicts: # docs/release_log.rst
…re-694 # Conflicts: # AGENTS.md # docs/design/decisions/README.md # docs/design/rules/P-particles-and-surname-prefixes.md # docs/design/rules/README.md # docs/release_log.rst # nameparser/_pipeline/_assemble.py # nameparser/_pipeline/_post_rules.py # tests/v2/rules_budget.json
This was referenced Nov 5, 2026
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 #694.
parse("طارق عبد العزيز")now gives familyعبد العزيز, where 1.4.0 through 2.8.1 gave middleعبد, familyالعزيز. Wikidata gives familyعبد العزيز.What changed
completed_byproperty. The pair becomes one name unit, and position decides its role.عبدlists 217 spellings of 139 words inar.toml:الله;المطلب,النبي,الحسين,المسيح, …);عبدto any following word that opens with the articleال. The design review rejected that as a statistical guess dressed up as a script rule: nisba surnames open withالtoo. A closed list is certain, soمحمد عبد القريشيkeeps familyالقريشي.abdul,abdelandabdallist no word, soTariq Abdul Azizkeeps middleAbdul. On the UK PSC register the pair is a middle name as often as a family, so the join would read worse there. The measurements are in decisions/P12.Measured
Taken at 8ba37fa with
config_diff.py, comparing against the default withعبد's reading written without the list:عبدmove: 194 in JRC-Names, 110 in ORCID and 7 committed. All move middle → family, except one Persian name read under a family-first order.ar) disagreements inwikidata_native_agreement.jsonnow agree. The other three join the word before them (عز الدين,شكر الله,ذو الغنى). They need a mechanism of their own and are left for a separate issue.The recipes for these numbers are in decisions/P12. The commits are kept unsquashed, so the commits the entries cite (44c65f6, 8ba37fa) stay reachable from this PR.
Reviews
Each round ran in subagents (code, design docs, test coverage), and its fixes were reviewed again.
nameparser/AGENTS.mdandnameparser/_pipeline/AGENTS.md.المولی)._ShiftCountingListguard (one-pass join, with its control recorded);config_diffcommand: no defects.Not in this PR:
عبد ;الله) is still joined across. P2's, P3's and P5's joins all share that gap. It is noted innameparser/AGENTS.md.🤖 Generated with Claude Code