Repository navigation
Should Doe, John MA read MA as a credential, as 1.4.0 did, or at least report the fork? #531
Description
Activity
- added a commit that references this issue
on Sep 19, 2026 Closed by #532.
The slot now reads and reports.
parse("Doe, John MA")gives suffixMA, which is what 1.4.0 read and whatJohn Doe MAhas read all along, andparse("Doe, John Ma")keeps middleMa. Either way the decision is reported assuffix-or-name, so the declined direction is visible too.The noise question this issue asked was answered by measurement. Over a generated sweep of 78 comma / comma-less pairs (five listed members and two dotted tokens in three cased spellings each, plus five controls, against three name shapes), 48 pairs disagreed about whether the word was a credential or a name, every one in the same direction: the comma form declining what the comma-less form took. After the change 3 disagree, all three the lower-case
dorows thatrules.md#P6owns by design.tests/v2/test_properties.pycarries the sweep with those three as a closed allowlist, so a fourth exception fails.Only one half has a 1.4.0 parity claim.
Doe, John MArestores 1.4.0's role and adds the report.Doe, John X.Y.Z.was a middle name at 1.4.0 too, so reading it as a suffix is a new divergence, taken to matchJohn Doe X.Y.Z.and recorded as an accepted cost.dois the one class member that is also a surname particle: capitals decide, and the particle rule keeps every other spelling.Doe, John DOreads suffixDO;Doe, John do,Doe, John DoandDOE, JOHN DOattach to the family as before and reportparticle-or-given. A one-case record cannot tellSMITH, JOHN DOfromNASCIMENTO, EDSON ARANTES DO, and both read as the particle: right about the second, wrong about the first. Accepted, and the report is how a caller finds it.Not reached, and asked separately: in
Doe, Jane nee Smith MAthe maiden clause takesSmith MAwhole, so thatMAis still read in silence.The rule is
rules.md#S2and#P6; the reasoning is underS2andP6indocs/design/decisions.md.- added 6 commits that reference this issue
on Sep 22, 2026
After a family comma, a credential-shaped word at the END of the given part is read as a middle name, and nothing is reported.
The comma-less spelling of the same name does the opposite on both counts:
John Doe MAgives suffixMAand reportssuffix-or-name. So two writings of one name disagree about the reading and about whether a fork was called.This is a 2.0-era reading, not a long-standing one. 1.4.0 read
Doe, John MAas suffixMA. Every release from 2.0.0 through 2.3.0 reads middleMA, and 2.4 does not move it.Doe, John X.Y.Z.is middle in every release including 1.4.0.What 2.4 changed nearby. The ambiguous credential class now reports at the trailing slot, at the first word after a family comma, in the part before a suffix comma, and in third-and-later comma segments. The given part's trailing slot is the one place it stays silent. PR #530 also retired an accident that had been reading some dotted words as suffixes, which moved a few names into this silent slot:
Doe, John J.u.n.i.o.r.andDoe, John X.Y.I.went from suffix to middle, andJohn Smith nee Jones R.A.I.from suffix to maiden.Two separate questions.
Doe, John MAreads suffixMAagain as 1.4.0 did? It has the words to spare: a family and a given name stand without it.suffix-or-name? The argument against is noise: a word sitting where a middle initial sits may be a place nobody hesitates, which is the reasoning that keepsSmith, John Vsilent. The argument for is that the comma-less spelling reports.The boundary is written down for now:
AmbiguityKind.SUFFIX_OR_NAME's docstring names the slots it covers and this one it does not, anddocs/design/decisions.md#S2records the slot as open with these measurements.Found during the review of #530.