Move mc and ste to never-given, add the Spanish/Portuguese articles (#360) - #393
Open
derek73 wants to merge 1 commit into
Open
Move mc and ste to never-given, add the Spanish/Portuguese articles (#360)#393derek73 wants to merge 1 commit into
derek73 wants to merge 1 commit into
Conversation
…360) Membership: never-given 28 -> 33. `mc` and `ste` move out of the ambiguous half; `los`, `las` and `das` are added, having been absent from the vocabulary entirely. Mc Donald given='Mc' -> family='Mc Donald' Ste Marie given='Ste' -> family='Ste Marie' Maria das Neves family='Neves' -> family='das Neves' Anjali Das family='Das' unchanged (the negative control) C-i with its positional qualifier is what makes these safe. 'Das' IS a borne Bengali surname, but a TRAILING one, and the leading-particle rule never reaches that position -- so never-given 'das' leaves "Anjali Das" and "Bimal Das" alone while giving "Maria das Neves" back the particle it was losing. Under C-i's first draft, which asked only whether a bearer exists anywhere, this fix would have been declined. The 37 members that stay: 12 are attested LEADING in the differential corpora and now carry that evidence in a comment (Al Gore, Della Reese, Mac Miller, La Shawn, San San Chiou, Te Awanui-a-Rangi, Van Johnson...), plus `le`/`du`/`bin`/`do` on Vietnamese and Chinese surnames and #269's recorded judgment. `von` is the instructive one: "von Braun" is misparsed today and it still stays ambiguous, because Von Miller is a real bearer in exactly the acting position. 15 stay BARE: aan, aen, bat, bon, da, dal, den, dí, heer, santa, tho, thoe, vande, vander, vel. I have no evidence either way, and C-i's default says leave them. A bare entry means unexamined, so #360's remaining surface is visible without a separate ledger. Recording "no evidence found" would log my ignorance as a judgment. VERIFICATION, and the important caveat: the differential exits 0 at all three baselines and that is NOT evidence here. Zero of 782 corpus names contain mc, ste, los, las or das -- not even "Mc Donald" or "Ste Marie", the names the issue is about -- so the population the change could have moved is empty. #360 asks for "its own differential run so the numbers attribute to a cause"; there are no numbers to attribute. The proof is therefore tests, and there were none before this commit. Two now cover it: the lexicon-derived class sweep picks the five new members up for free (it reads particles - particles_ambiguous, so membership edits extend it automatically), and a new parametrized case carries the multi-word shapes plus the trailing-surname negative control. Both run against Lexicon.default() rather than the module's reduced _LEX -- a fixture omitting these words would pass while proving nothing, which is the trap that made a #391 test inert. Mutation-checked: reverting `mc` fails the new case. rules.md#P1 gains "Mc Donald" and "de los Santos" as executable examples. Follow-up worth filing: corpus_issues.jsonl is generated from the tracker and predates #360, so regenerating it would make this class visible to the harness. That is a corpus refresh across every newer issue, not part of this change. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #393 +/- ##
=======================================
Coverage 98.51% 98.51%
=======================================
Files 44 44
Lines 2895 2895
=======================================
Hits 2852 2852
Misses 43 43 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
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 #360.
Membership: never-given 28 → 33.
mcandstemove out of theambiguous half;
los,lasanddasare added, having been absentfrom the vocabulary entirely.
C-i's positional qualifier is what makes
dassafeDasis a borne Bengali surname — but a trailing one, and theleading-particle rule never reaches that position. So never-given
dasleaves
Anjali DasandBimal Dasalone while givingMaria das Nevesback the particle it was losing. Under C-i's first draft, which asked
only whether a bearer exists anywhere, this fix would have been
declined.
What #360 actually yielded
Its premise is that the split was never curated, so many members are
probably misfiled. Applying C-i with the corpora as evidence: the
conservative default is correct for 37 of 39.
evidence: Al Gore, Della Reese, Mac Miller, La Shawn, San San Chiou,
Te Awanui-a-Rangi, Van Johnson, Abu Bakr, Del Toro, Dela Cruz, Di
Caprio, von Braun. Plus
le/du/bin/doon Vietnamese andChinese surnames and Provide constants in non-Latin scripts (Cyrillic, Greek, Arabic, Hebrew) #269's recorded judgment.
vonis the instructive one.von Braunis misparsed today andit still stays ambiguous, because Von Miller is a real bearer in
exactly the acting position. A word can look like a pure particle, be
misparsed as one, and still have a bearer.
delastays — Dela is a short form of Adela and an African namemeaning saviour/redeemer, so the Filipino surname particle isn't the
only reading.
aan,aen,bat,bon,da,dal,den,dí,heer,santa,tho,thoe,vande,vander,vel. No evidenceeither way, and C-i's default says leave them. A bare entry means
unexamined, so the remaining surface stays visible without a ledger —
recording "no evidence found" would log ignorance as a judgment.
Verification, and a caveat that matters
The differential exits 0 at all three baselines and that is not
evidence here. Zero of 782 corpus names contain
mc,ste,los,lasordas— not evenMc DonaldorSte Marie, the names thisissue is about. The population the change could have moved is empty, so
#360's request for "its own differential run so the numbers attribute to
a cause" has no numbers to attribute.
The proof is tests, and there were none before this commit:
— it reads
particles - particles_ambiguous, so membership editsextend it automatically
trailing-surname negative control
Both run against
Lexicon.default(), not the module's reduced_LEX—a fixture omitting these words would pass while proving nothing, which
is exactly the trap that made a #391 test inert. Mutation-checked:
reverting
mcfails the new case.rules.md#P1gainsMc Donaldandde los Santosas executableexamples. 3468 tests, ruff and mypy clean.
Follow-up worth filing
corpus_issues.jsonlis generated from the tracker and predates #360,so regenerating it would make this whole class visible to the harness.
That's a corpus refresh across every newer issue, not part of this
change.
🤖 Generated with Claude Code