Skip to content

Decline a title word a trailing rule reads, in the bound join (#637, #640) - #643

Merged
derek73 merged 3 commits into
masterfrom
feat/issue-637-640-bound-join-title
Oct 11, 2026
Merged

derek73 merged 3 commits into
masterfrom
feat/issue-637-640-bound-join-title

Conversation

@derek73

@derek73 derek73 commented Oct 11, 2026 •

Copy link
Copy Markdown
Owner

Summary

P5's bound given-name join takes the word after abdul. It already declined a maiden marker and a suffix piece, but it took a title word even where a trailing rule would have read that word as a title. The joined piece was then no title word to read:

Input Before Now
Berg, abdul Prof. (#637) given 'abdul Prof.' title 'Prof.', given 'abdul'
John Smith, Jr., abdul Dr. Smith (#640) suffix 'Jr., abdul Dr. Smith' title 'Dr.', suffix 'Jr., abdul Smith'
Berg, abdul Prof. Ali given 'abdul Prof.' unchanged: the title stands inside the name
abdul Sir Smith Berg given 'abdul Sir' unchanged

The join now declines a title word that a trailing rule reads as a title:

Decided (Derek): this narrower clause (a′), not declining every title word (a). P5 states that a title word standing in the name is a name word and joins like one (H3), and (a) undid that:

  • six tests failed against master's suite, including a P5 rules example and the two tests named for that clause;
  • 4,044 bound-given grid parses moved, 3,000 of them joins split with no title read ((Bob), Abu Bishop → given 'Abu', middle 'Bishop').

Measured (against 4455962, py3.11, import asserted on each side; recipes in decisions.md#P5)

Tests

  • title_word_trailing_behind_a_bound_pair_after_a_comma (Berg, abdul Prof.) used to pin the gap as a non-normative row. It now pins the title, as fix(#637).
  • New row a_bound_join_declines_a_title_past_the_second_comma, fix(#640).
  • rules.md#P5 examples: three new ones, including the Berg, abdul Prof. Ali boundary. rules.md#H5's gap paragraph becomes an example.
  • New rows from the review:
    • John Smith, Jr., abdul Sir Smith (fix(#640)): the bare-title half.
    • Berg, abdul Prof. Dr. (fix(#637)): the whole trailing run rather than the last word.
  • Negative controls:
    • With no title declined, 11 tests fail.
    • With the past-the-second-comma half alone removed, 5 tests fail.

Review

Recorded, not narrowed. After a family comma, the decline asks how the comma-less name would read H5's run, and the given part's own reading differs on some shapes. There the join is declined and no title is read:

  • a numeral VI to X (Smith, abdul Prof. VI → middle 'Prof. VI')
  • V before a third comma part
  • a dotted title-particle, which P6 attaches (Smith, abdul St. → family 'St. Smith')

A bound word that is also a particle, before a dotted title-particle, goes the other way: the title is read where an ordinary given word doesn't read it (Smith, Abu St. → title 'St.'; Smith, Zed St. → family 'St. Smith').

All of these are garbage input, recorded the same way as #623's disagreement, and rules.md#P5 states them in an Accepted clause. The sweep found nothing reading worse than master on a real name, and no comma-less name moved.

Fix commit:

Second fix commit: H5's Accepted paragraph now excepts the shapes P5 records, and the frames sentence gains the family-comma case.

Docs

Closes #637
Closes #640

🤖 Generated with Claude Code

…640)

P5's bound given-name join took the word after `abdul` even where a
trailing rule would read it as a title, so the joined piece was no
title word: `Berg, abdul Prof.` read given 'abdul Prof.' where `Berg,
John Prof.` reads title 'Prof.' (#637), and `John Smith, Jr., abdul Dr.
Smith` read suffix 'Jr., abdul Dr. Smith' (#640). The join now declines
such a word: after a family comma one H5's trailing run takes from the
given part, and in a part past the second comma any title word, which
C2 reads. A title word standing in the name still joins (`abdul Sir
Smith Berg`), as P5 states. Decided (Derek): this narrower clause over
declining every title word, which split real joins.

Measured against 4455962: 1,044 of 15,552 bound-given grid parses move,
each a title word into the title field; 280 of #623's given-part grid,
the same class; among corpus names and case texts only the row that
pinned the gap. Five gates exit 0.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@derek73 derek73 self-assigned this Oct 11, 2026
@codecov

codecov Bot commented Oct 11, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 99.02%. Comparing base (4455962) to head (baa310c).
⚠️ Report is 1 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff           @@
##           master     #643   +/-   ##
=======================================
  Coverage   99.02%   99.02%           
=======================================
  Files          46       46           
  Lines        4512     4513    +1     
=======================================
+ Hits         4468     4469    +1     
  Misses         44       44           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

derek73 and others added 2 commits October 11, 2026 04:05
The decline after a family comma asks H5's run as the comma-less name
reads it, and the given part's walk reads some words behind a title
otherwise (a numeral VI to X, V before a third part, a title-particle
P6 attaches): there the join is declined and no title is read. Garbage
shapes, recorded rather than narrowed as #623's disagreement was, and
stated in an Accepted clause of rules.md#P5; the entry no longer says
every move gains a title, and its #623-grid count names the 20 that
do not. Rows pin the bare-title half past the second comma and the
whole trailing run after a family comma, which no test held.

Corrected: option (a)'s count (3,000 joins split, not 1,944), the
negative controls (11 and 5), a row note's history (#603), a ledger
note naming the wrong rule, the entry's place in the P5 section, notes
on the #623 and #614 entries, P5/C2 interacts, two release sentences.
The site is asked before the title test, so a comma-less bound name
pays no frame for it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
rules.md#H5's Accepted paragraph said the title is read after a family
comma, which P5's new Accepted clause now excepts; the frames sentence
gains the family-comma bound name with no title behind it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@derek73 derek73 added this to the 2.4 milestone Oct 11, 2026
@derek73
derek73 merged commit 8d1af36 into master Oct 11, 2026
12 checks passed
@derek73
derek73 deleted the feat/issue-637-640-bound-join-title branch October 14, 2026 04:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

1 participant