Skip to content

List the Royal Colleges' fellowships and memberships as credentials - #1321

Merged
derek73 merged 6 commits into
masterfrom
feat/royal-college-post-nominals
Nov 11, 2026
Merged

derek73 merged 6 commits into
masterfrom
feat/royal-college-post-nominals

Conversation

@derek73

@derek73 derek73 commented Nov 11, 2026 •

Copy link
Copy Markdown
Owner

Closes #1315.

John Smith FRCS read middle Smith, family FRCS (1.4.0 through 3.0.1), and Smith, John MRCP read middle MRCP. 34 post-nominals are now listed as credentials, so both read a suffix; Tanaka Hiroshi FRCS no longer reads FRCS as a family name for #1310's suggester either.

  • Vetted with name_usage.py and the local corpora: no Census, SSA, nam_dict or Wikidata bearer, so none is marked ambiguous. Counts are in each entry's note.
  • Six mixed-case ones carry a cased mask.
  • Snapshot moves two names, no field: Alex Green, FRCS (SN) and Andrew Wilson, MRCP (UK) lose their suffix-or-name report.
  • test_comma.py used FRCS as its unlisted-capitals example; it now uses XYZW.
  • Release log bullet and a decisions/suffix-acronym-collisions entry added.
  • Measured over the local corpora against master (measure.py): ClinicalTrials.gov moved 241 role fields, 225 of them fixes (a credential no longer read as the given or family name) and 16 regressions, 13 BM-led runs, 2 MA BM and 1 AO after a comma (Keith Godfrey, BM PhD FRCP). That bug was already there: Keith Godfrey, BM PhD reads given BM on master, and an unlisted FRCP ending the run hid it. Listing bm to remove it was tried and declined: it also lists B.M., which Nepal's candidates write as surname initials, and it dropped the family name of ORCID names such as Avinash BM (decisions entry). Filed as Should Jane Doe, BM PhD read BM as a credential, not the given name? #1323. FEC, GOV.UK, ORCID and Companies House moved 1, 8, 16 and 3 entries; the rest none.
  • Not re-measured: suggest_measure.py. Left for follow-up: fasn, facg, fcps.

Full suite, serial tests, mypy, ruff and the doctests pass.

🤖 Generated with Claude Code

@derek73 derek73 added vocabulary Fixed by a word-list entry: per-word vocabulary and language packs suffixes Generational suffixes and credentials (rules/S) labels Nov 11, 2026
@derek73 derek73 self-assigned this Nov 11, 2026
@derek73 derek73 added this to the 3.1 milestone Nov 11, 2026
…1315)

34 post-nominals (FRCS, FRCP, MRCP, FRACS, ...) read as the family name where
no comma stood. Listed with their vetting, six with case masks; the snapshot
moves two reports and no field.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@derek73
derek73 force-pushed the feat/royal-college-post-nominals branch from fd2c6af to 9714871 Compare November 11, 2026 04:03
derek73 and others added 4 commits November 10, 2026 20:06
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@derek73
derek73 enabled auto-merge (squash) November 11, 2026 04:34
@derek73
derek73 merged commit ed7dfb8 into master Nov 11, 2026
14 checks passed
@derek73
derek73 deleted the feat/royal-college-post-nominals branch November 11, 2026 04:39
derek73 added a commit that referenced this pull request Nov 11, 2026
The first draft kept the undotted pair in the credential run wherever
every other word of the part was rules/C16's company, which also moved
a pair with company only in front ('John Smith, RA MJ', 'John Smith,
MA MJ'), one before a spelled-out generation or an agnomen ('MJ
Junior', 'MJ Filho') or a Title-case member ('MJ Ed'), and, under
CapsSuffixes.EVERYWHERE, a record written in capitals. Now at least
one credential must stand behind the pair, every other word must be a
credential its writing settles (no gated word, no Title-case member,
no title in front), and C6's contrast is asked under every setting.

Rows for each; rules/C5 names the generation-head and nickname moves;
decisions/C5 states the corpus recipe and the base SHA; decisions/S9
and C6 point at the narrowing; customize.rst's shared exception gains
the undotted case; nameparser/vocab/AGENTS.md records #1321's lesson.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
derek73 added a commit that referenced this pull request Nov 11, 2026
…1323)

Behind two or more name words carrying rules/C6's case contrast, an
unlisted word of two capitals followed by credentials, and standing
beside nothing else, is the credential run rather than rules/C5's
undotted paired initials: 'Jane Doe, BM PhD' reads given 'Jane',
family 'Doe', suffix 'BM PhD'. A credential here is one its writing
settles: a generation, an agnomen, a word the count gates, a
Title-case member, a particle or a title in front of the pair is none,
and a word joined by a slash or a hyphen is asked chunk by chunk. The
lone pair, a one-word head, the dotted pair and an all-caps record keep
their readings.

Amends rules/C5 (its 'García Márquez, MJ PhD' boundary becomes the
stated accepted cost), with dated entries in decisions/C5 and S9,
pointers in decisions/C6, customize.rst's shared exception and
nameparser/vocab/AGENTS.md's lesson from #1321.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
derek73 added a commit that referenced this pull request Nov 11, 2026
…1323) (#1338)

Behind two or more name words carrying rules/C6's case contrast, an
unlisted word of two capitals followed by credentials, and standing
beside nothing else, is the credential run rather than rules/C5's
undotted paired initials: 'Jane Doe, BM PhD' reads given 'Jane',
family 'Doe', suffix 'BM PhD'. A credential here is one its writing
settles: a generation, an agnomen, a word the count gates, a
Title-case member, a particle or a title in front of the pair is none,
and a word joined by a slash or a hyphen is asked chunk by chunk. The
lone pair, a one-word head, the dotted pair and an all-caps record keep
their readings.

Amends rules/C5 (its 'García Márquez, MJ PhD' boundary becomes the
stated accepted cost), with dated entries in decisions/C5 and S9,
pointers in decisions/C6, customize.rst's shared exception and
nameparser/vocab/AGENTS.md's lesson from #1321.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

suffixes Generational suffixes and credentials (rules/S) vocabulary Fixed by a word-list entry: per-word vocabulary and language packs

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Should John Smith FRCS read FRCS as a credential? Unlisted fellowship post-nominals become the family name

1 participant