You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
A given-name title at the end of a title run should address by given name — "Her Majesty Queen Elizabeth" parses Elizabeth as the family name #489
Queen is in given_name_titles, but the address rule looks at the run's shape rather than its last member, so the v1-era xfail test_conjunction_in_an_address_with_a_first_name_title still fails: Her Majesty Queen Elizabeth → title Her Majesty Queen, family Elizabeth, where the addressed reading is given Elizabeth.
Proposed direction: when a title run ends in a given-name title, the run addresses by given name — the last title is the one doing the addressing. Needs the usual fork check against Sir John Smith (given-name title with a full name following) and chained rows like test_chained_title_first_name_title_is_initials.
The keying. H1's fold and P5's join licence both keyed given_name_titles on the whole title run joined into one string, and every shipped entry is a single word, so no two-word run could ever be exempted: Her Majesty Queen was one key that matched nothing. Both sites now ask one predicate in _lexicon.py: the whole run's key, or the run's LAST word's key. A caller's multi-word phrase entry (lt col) still matches by the first arm; the shipped set matches by the second. The 2026-08-22 invariant from #369 holds unchanged, H1 and P5 cannot read one run two ways; only its 'mr sir' example flipped.
parse("Her Majesty Queen Elizabeth") # title='Her Majesty Queen', given='Elizabeth'parse("Her Majesty Queen Elizabeth II") # given='Elizabeth', suffix='II'parse("Reverend Mother Teresa") # given='Teresa' (mother is a given-name title)parse("Dr. Sir John") # given='John'parse("Sir Sheikh abdul rahman") # given='abdul rahman', no family (P5's licence)
What did not move, on purpose.Sir John Smith (H1 never fires with two name words), His Excellency Lord Duncan (lord is not a given-name title), and Her Royal Highness Princess Anne (neither is princess). Whether prince/princess/lord/lady belong in the set is a vocabulary question with its own frequency argument, filed as #519. Of the 49 corpus names with a title run of two or more words, only this issue's own example and Dr King Jr ended in a given-name title.
The peel floor, which came first.Dr King Jr read title Dr King, family Jr, because the leading title peel runs before the suffix peel and its only floor was "leave one piece". It now gives back its last one-word title when only suffix pieces follow, so Dr King Jr reads title Dr, family King, suffix Jr, the way Dr. King, Jr. always did, and the v1-xfail triage's Dr King Jr NOT FIXED entry is retired. That change took the two Dr King rows out of this issue's population before the keying changed, so the keying touches nothing degenerate.
Recorded in rules.md#H1 (the run clause) and #H3 (the floor), decisions.md#H1, #H3 and the #P5 amendment.
Activity
Merge pull request #520 from derek73/claude/489-title-run
derek73 commentedon Sep 10, 2026
Shipped in #520 for 2.3.0.
The keying. H1's fold and P5's join licence both keyed
given_name_titleson the whole title run joined into one string, and every shipped entry is a single word, so no two-word run could ever be exempted:Her Majesty Queenwas one key that matched nothing. Both sites now ask one predicate in_lexicon.py: the whole run's key, or the run's LAST word's key. A caller's multi-word phrase entry (lt col) still matches by the first arm; the shipped set matches by the second. The 2026-08-22 invariant from #369 holds unchanged, H1 and P5 cannot read one run two ways; only its'mr sir'example flipped.What did not move, on purpose.
Sir John Smith(H1 never fires with two name words),His Excellency Lord Duncan(lordis not a given-name title), andHer Royal Highness Princess Anne(neither isprincess). Whetherprince/princess/lord/ladybelong in the set is a vocabulary question with its own frequency argument, filed as #519. Of the 49 corpus names with a title run of two or more words, only this issue's own example andDr King Jrended in a given-name title.The peel floor, which came first.
Dr King Jrread titleDr King, familyJr, because the leading title peel runs before the suffix peel and its only floor was "leave one piece". It now gives back its last one-word title when only suffix pieces follow, soDr King Jrreads titleDr, familyKing, suffixJr, the wayDr. King, Jr.always did, and the v1-xfail triage'sDr King JrNOT FIXED entry is retired. That change took the twoDr Kingrows out of this issue's population before the keying changed, so the keying touches nothing degenerate.Recorded in rules.md#H1 (the run clause) and #H3 (the floor), decisions.md#H1, #H3 and the #P5 amendment.
docs(design+release): prince and princess as given-name titles, recorded
test: triage the v1 xfails — four pinned as decided, four annotated w…
fix(lexicon): a title run addresses as its last title does
docs(design+release): the trailing slot reads vocabulary — derek73#489 …
chore(differential): classify the title-run bundle at all four baselines
docs(derek73#459/derek73#492/derek73#478): the decisions, the guides …