Skip to content

Read a transliterated Cyrillic initial opening a name as a given name, not a title (rules/H2, #1136) - #1294

Merged
derek73 merged 5 commits into
masterfrom
claude/issue-1136-digraph-initials-5dd1ef
Nov 10, 2026
Merged

derek73 merged 5 commits into
masterfrom
claude/issue-1136-digraph-initials-5dd1ef

Conversation

@derek73

@derek73 derek73 commented Nov 10, 2026 •

Copy link
Copy Markdown
Owner

Closes #1136.

rules/H2 (the leading-abbreviation title) read any unlisted word of two letters ending in a period as a title when it opened a name, so a transliterated Cyrillic initial became a title. Yu. A. Chibrikova read title 'Yu.', given 'A.', and Yu. Baryshnikov lost its given name. The same happened after a family comma (Chibrikova, Yu. A.) and behind a title (Dr. Yu. Petrov → title 'Dr. Yu.'), from 1.4.0 through 3.0.1. The Cyrillic original, Ю. А. Чибрикова, already read given 'Ю.'.

What changes. The shape now declines a closed set of transliteration digraphs, the Latin spellings of one Cyrillic letter, in any case: Yu, Ya, Ye, Yo, Zh, Kh, Shch and Dzh (_vocab._DIGRAPH_INITIALS). Both spellings of H2's test read the set: _vocab.is_title_shaped and the inline copy in _pieces.is_leading_title. The check is C-level and adds no frame.

Yu. A. Chibrikova    → given 'Yu.', middle 'A.', family 'Chibrikova'   (was title 'Yu.')
Chibrikova, Yu. A.   → given 'Yu.', middle 'A.'                        (was title 'Yu.')
Dr. Yu. Petrov       → title 'Dr.', given 'Yu.'                         (was title 'Dr. Yu.')
Ts. Dr. Norziha Che Him → title 'Ts. Dr.'   (unchanged)
Ch. Tahir Mehmood    → title 'Ch.'          (unchanged)

Which digraphs, and why this set. The set was chosen from three options (vocabulary word by word, a shape exception, the RU pack only) and narrowed to the digraphs that no corpus reads as a title. I counted every unlisted period word opening a name, or the part after a family comma, that master read as a title. The corpora were orcid-researchers, nepal-candidates, ctgov-officials, psc-individuals, opensanctions-parliaments, patentsview-inventors and jrc-names.

  • Yu/Ya/Ye/Yo/Zh and Kh were never a title there.
  • Ch reads about 8 times as an initial, against 4 uses as Chaudhry.
  • Sh reads 2 times as an initial, against 4 uses as Sheikh or Shri.
  • All 12 Ts. openers are the Malaysian professional title.

Those three keep the title reading, and what a Mongolian Ts. reads as is #1235's question. Th (Greek Θ, or Dutch Theodorus written short) is out by scope, not by evidence. The full table is in decisions/H2's 2026-11-09 #1136 entry.

What it reads as. The digraph is a name word, not the initial T5 tags. Over a grid of 24 shapes (the comma shapes, titles, a particle, a nickname, a suffix, a lone word) under all three orders, every digraph in the set reads field for field as J. does. The one difference is a lone digraph, which reports given-or-family where J. reports nothing. A caller who wants Yu. as a title still lists it as one (Lexicon.default().add("yu", kind="title")), which outranks the shape. The Library of Congress spellings (Iu., the tied I͡U.) are outside the set. The ISO 9 one-letter spellings were initials already, composed or decomposed.

Measured against master b89c548:

  • The committed snapshot moves no name. The snapshot gains 11 rows, which are the new rule examples.
  • snapshot.py --local --base <master> matches the base for nepal-candidates, ctgov-officials and patentsview-inventors.
  • local_agreement.py --base <master> matches the base for psc-individuals, and changes 2 orcid-researchers records, both toward the boxes their filers typed.
  • opensanctions-parliaments wasn't re-measured, because its cache predates the tool's dataset list. A scan of it found no digraph of the set opening a name.

Docs.

Reviews.

  • A design-docs review of the first round found four issues: the Ts.Sandag-Ochir reading, the Th reason, a misplaced row and the signal. All four are fixed in 9637ffc.
  • A review of that fix commit found three more: the caller's title override, Dutch Th., and ts listed under the vi language choice. Those are fixed in 7561f5b.
  • A code review found no defects. Its suggested comma-count row is in.
  • pr-test-analyzer and comment-analyzer: their findings are applied in the last commit (direct is_leading_title rows, a Vice Yu. Petrov example for the title-phrase head run, comment and release-log wording).

Checks run locally: the full suite on 3.11 and on 3.15 (in its own environment), the serial benchmarks (all 60 pass; earlier failures were machine load, and master passed under the same load), mypy, ruff, and both Sphinx builds.

Follow-ups, not in this PR:

🤖 Generated with Claude Code

derek73 and others added 4 commits November 9, 2026 21:27
…tle (rules/H2, #1136)

rules/H2's leading-abbreviation shape read any unlisted two-letter word
ending in a period as a title, so Yu. A. Chibrikova read title 'Yu.'.
The Latin spellings of one Cyrillic letter that are no title in any
corpus read (Yu Ya Ye Yo Zh Kh Shch Dzh) now decline the shape, in both
spellings of the test. Ts, Ch and Sh, each also a title written short,
keep it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…#1136 Open line

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… scope

The design-docs review found that period-joined-words gave the glued
Ts.Sandag-Ochir its spaced twin's reading, which the file's own division
rule refuses, and that the reason given for leaving Th out (Th. D.) does
not hold at H2's slots. The Cyrillic row moves to the single-letter
bullet, and the boundary rows are titles that are right as titles.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…verride

The second review found that Dutch Th. for Theodorus is a given name
written short, not a digraph of another alphabet; that Ts.Sandag-Ochir
not dividing holds only while ts is unlisted (vi lists it); and that a
caller restores the title reading by listing the word as a title. Adds
rules/H2's comma-count row for a digraph, Yu. Smith, Ed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@derek73 derek73 self-assigned this Nov 10, 2026
@derek73 derek73 added this to the 3.1 milestone Nov 10, 2026
Comment review: name the transliteration-digraph Except where H2 now has
three, say what the test's boundary loop holds, and narrow the release
log and migrate text to the eight digraphs (LC's Iu. is unchanged).
Test review: pin is_leading_title's value for the digraphs directly, and
the title-phrase head run (Vice Yu. Petrov) as a rule example.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@derek73
derek73 enabled auto-merge (squash) November 10, 2026 06:13
@derek73
derek73 merged commit 4967ddc into master Nov 10, 2026
12 checks passed
@derek73
derek73 deleted the claude/issue-1136-digraph-initials-5dd1ef branch November 10, 2026 06:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Should Yu. A. Chibrikova read Yu. as a given-name initial? Two-letter initials at the start of a name read as titles

1 participant