Commit 4ef0ee2
fix(#540): the toolkit review round
Three reviewers read the pull request (code, tests, comments); this
is what they found.
A credential run behind a suffix comma that ends in meng or lac is
no longer wholly suffix-shaped, so C1 reads the comma as a family
comma and the run's words fall into the post-comma name slots:
"John Smith, PhD MEng" reads given 'PhD', middle 'MEng', family
'John Smith', and no case form saves it. It is the path
"john smith, phd ma" already takes; the release note and
decisions.md said "a title-shaped credential reads as a title",
which was one corner of it. Two rows pin it, a union-fields ledger
rule classifies it at every baseline, and the note's workaround now
states what was measured: a lone credential, or a second comma
before the run, keeps the credential reading; capitals do not.
"Wang M.Eng." reads family 'M.Eng.': S2's period gate counts a
member as unambiguous only written one period per letter, and MEng
and LAc are the first members whose conventional dotted spelling is
chunked. DECIDED (Derek, 2026-09-25): accepted and recorded rather
than widening the gate; the question goes to the follow-up issue
with the comma re-read. "Nguyen Van Lac" (family 'Van Lac', the
gain, moving against 1.4.0 too) and "John Smith MEng PhD" (the cost
with a credential behind it) were unpinned and now have rows and
rules; the family rule gains a superstring probe, since dropping its
anchors had passed every guard.
Two claims were false on the wheels: "every release gave suffix
'PhD MEng'" (through 2.2 the joiner was a comma, 'PhD, MEng'), and
the dated Excluded bullet's present-tense "Both read as a suffix",
whose supersession note now follows it. suffixes.py's comment gains
S2's third clause (not Title-case in a mixed-case name), its
docstring stops enumerating readers, cases.py's roster comment
points at the constant, and AGENTS.md's _initials sentence says
what compare.py does: roles AND ambiguity kinds must agree.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>1 parent 24d528e commit 4ef0ee2
14 files changed
Lines changed: 598 additions & 119 deletions
File tree
- docs
- design
- nameparser/config
- tests/v2
- tools/differential
Large diffs are not rendered by default.
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1043 | 1043 | | |
1044 | 1044 | | |
1045 | 1045 | | |
| 1046 | + | |
| 1047 | + | |
1046 | 1048 | | |
1047 | 1049 | | |
1048 | 1050 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
15 | | - | |
| 15 | + | |
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
211 | 211 | | |
212 | 212 | | |
213 | 213 | | |
214 | | - | |
215 | | - | |
216 | | - | |
217 | | - | |
218 | | - | |
219 | | - | |
220 | | - | |
221 | | - | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
222 | 219 | | |
223 | 220 | | |
224 | 221 | | |
| |||
227 | 224 | | |
228 | 225 | | |
229 | 226 | | |
230 | | - | |
231 | | - | |
232 | | - | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
233 | 232 | | |
234 | 233 | | |
235 | 234 | | |
| |||
304 | 303 | | |
305 | 304 | | |
306 | 305 | | |
307 | | - | |
308 | | - | |
| 306 | + | |
309 | 307 | | |
310 | 308 | | |
311 | 309 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
491 | 491 | | |
492 | 492 | | |
493 | 493 | | |
494 | | - | |
495 | | - | |
| 494 | + | |
| 495 | + | |
496 | 496 | | |
497 | 497 | | |
498 | 498 | | |
| |||
696 | 696 | | |
697 | 697 | | |
698 | 698 | | |
| 699 | + | |
| 700 | + | |
| 701 | + | |
| 702 | + | |
| 703 | + | |
| 704 | + | |
| 705 | + | |
| 706 | + | |
| 707 | + | |
| 708 | + | |
| 709 | + | |
| 710 | + | |
| 711 | + | |
| 712 | + | |
| 713 | + | |
| 714 | + | |
| 715 | + | |
| 716 | + | |
| 717 | + | |
| 718 | + | |
| 719 | + | |
| 720 | + | |
| 721 | + | |
| 722 | + | |
| 723 | + | |
| 724 | + | |
| 725 | + | |
| 726 | + | |
| 727 | + | |
| 728 | + | |
| 729 | + | |
| 730 | + | |
| 731 | + | |
| 732 | + | |
| 733 | + | |
| 734 | + | |
| 735 | + | |
| 736 | + | |
| 737 | + | |
| 738 | + | |
| 739 | + | |
| 740 | + | |
| 741 | + | |
| 742 | + | |
| 743 | + | |
| 744 | + | |
| 745 | + | |
| 746 | + | |
| 747 | + | |
| 748 | + | |
| 749 | + | |
| 750 | + | |
| 751 | + | |
| 752 | + | |
| 753 | + | |
| 754 | + | |
| 755 | + | |
| 756 | + | |
| 757 | + | |
| 758 | + | |
| 759 | + | |
| 760 | + | |
699 | 761 | | |
700 | 762 | | |
701 | 763 | | |
| |||
0 commit comments