Repository navigation
Move ms and miss to mul.toml whole; mark mba ambiguous - #1028
Merged
Merged
Conversation
…ame) Every strict choice reads mul.toml (#1005), and the strict-gap report (config_diff.py gaps, #1025) ranked the salutations `ms` and `miss`, left in en.toml, the top strict loss in most languages: 38,117 and 28,537 records broken across tags, nearly all of them the UK register's title boxes, the class `mr` and `mrs` moved for. Each moves whole: `ms` with its credential, since the salutation alone read `A Israni, MD, MS` title 'MS' under a strict choice without en, and `miss` with its family reading. No default or plain-choice parse moves for either. `mba` gains a family reading, superseding the 2026-10-21 hold-out: `Chinedu Mba` reads family 'Mba', as 1.4.0 read it, where 2.0.0 through 2.8.0 read suffix 'Mba' with no family. A degree written in the family part before a comma reads into the family (`GULLEY MBA, KELLEY D.`), the cost the ambiguous class pays for `ma` and `meng`. The audit of every other mul.toml word keeps each where it is, `ing` included: moving it out made both the languages that write it and the rest worse. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
# Conflicts: # docs/design/decisions/suffix-acronym-collisions.md # docs/release_log.rst
…se, miss's reason Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Nov 3, 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.
What
Follows the mul.toml audit decided in chat on 2026-11-03 ("ms, miss, mba"), measured with the strict-gap report of #1025.
msandmissmove from en.toml tomul.toml, each whole.msmoves with its credential andmisswith its family reading (check 13 oftools/vocab/build.pyrefuses amul.tomlword whose on-by-default name reading stays in another file; the family reading derives no gate on a salutation). Every strict choice readsmul.toml(Should a strict choice still readPhD,DrandProf? (parser_for(locales.PT, strict=True).parse("Ana Souza, PhD")→ given 'PhD') #1005), so a strict choice now reads both salutations asmrandmrsalready were.mbagains a family reading. It is the Igbo surname Mba (US Census 2010: 320 bearers) and a Fang name part.Chinedu Mbareads family 'Mba', as 1.4.0 read it, where 2.0.0 through 2.8.1 read suffix 'Mba' and no family.mul.tomlstays,ingincluded. The audit judged every word against the Should a strict choice still readPhD,DrandProf? (parser_for(locales.PT, strict=True).parse("Ana Souza, PhD")→ given 'PhD') #1005 criterion; the evidence is in decisions/vocabulary-model's new 2026-11-03 entry.Measured
On 7ce9cbf with
config_diff.pyat 22234c1, the first 20,000 records a group.gaps, 83 tags). A broken record is laid to the word whose own token moved.msbroke 38,117 records across tags and fixed 11;missbroke 28,537 and fixed 2. Nearly all are the UK register's title boxes.zhfalls from 4,832 broken to 965,filfrom 4,899 to 1,066,pafrom 3,008 to 155,rofrom 2,577 to 60 andplfrom 2,093 to 70. Strictenstays at 7,362.msmoves whole. With its salutation alone inmul.toml, strictko,hi,plandzhreadMSpast a comma as a title: 46,838 of 51,461 names moved (A Israni, MD, MS→ title 'MS').PhD,DrandProf? (parser_for(locales.PT, strict=True).parse("Ana Souza, PhD")→ given 'PhD') #1005 kept it for. Under strict withouten,Radha MSreads suffix 'MS', as the default does. About 150 ORCID and PatentsView India records holdMSin the family box.ing. Moving its credential to cs, sk, de, ro, nl, fr, sr and hr and its names to en and sv was measured under all 162 configurations. It was worse both ways:Alvin Ing→ suffix 'Ing');Daniela Ponce, Ing→ given 'Ing').mba, default against the base (measure.py --base, 22 steps, none failed). Every moved name in every local corpus holdsmba: ctgov 20 entries, FEC 179, ORCID 26 against 7ce9cbf (27 against the merged master, by the review), PSC 12, JRC 12, GOV.UK 1.Léon Mba,Patrick Arthur MBA ABESSO).maandmeng. Where a name word can stand, the degree reads as the name:GULLEY MBA, KELLEY D.→ family 'GULLEY MBA',Smith, MBA Jane,, MBAandRUH MD,MBA, RICHARD→ given 'MBA'. A period-markedSmith, Mba.reads title 'Mba.', asMeng.does; brackets configured for maiden names read(MBA)as the maiden name, as(MA)and(MEng)do.John Smith, MBA,John Smith MBA(in capitals) andAndrew Perkins (MBA)are unmoved.john smith mba(ambiguities only) and the two rule examples below. CLDR, GND, Wikidata and conventions agreement are unchanged.Docs in the same diff
PhD,DrandProf? (parser_for(locales.PT, strict=True).parse("Ana Souza, PhD")→ given 'PhD') #1005 entry'smsclause marked superseded.mbaentry and Standing; the 2026-10-21 hold-out marked superseded.MBAas the unambiguous credential take another:(PhD MBA)becomes(PhD MSc), with decisions/S1's Standing line and the 2026-10-21 entry's head marked;Andrew Perkins (MBA)under maiden-parens becomes(PhD). A marked member in a maiden pair reads maiden, as(MEng)does.msmeasurement.mba.The rules corpus is rebuilt and the snapshot re-recorded.
Review round (5310083)
An independent review found no behavior defect; it fixed the prose and the stated limits: the 2.8.1 range, the release log's limit sentence and the decisions entry's costs (the names above), stale
Msand(MBA)examples in locales.rst, usage.rst andAmbiguityKind.SUFFIX_OR_NICKNAME's comment, the RFC's supersession note,miss's reason, and vocab/AGENTS.md's count of checks, with a note that check 13 already refuses splitting a word.Checks
uv run pytest -q: 35,238 passed.-n0 -m serial: 42 passed.uv run mypy,uv run ruff check.sphinx-build -b doctestand-W -b html;python -m doctest README.rst.tools/vocab/build.py --check.The audit's measurements use
tools/differential/config_diff.pyfrom #1025; this PR does not depend on it to build or test.🤖 Generated with Claude Code