Skip to content

Report a bare I or V ending the given part after a comma (#877) - #1063

Merged
derek73 merged 7 commits into
masterfrom
fix/issue-877-comma-letter-report
Nov 5, 2026
Merged

derek73 merged 7 commits into
masterfrom
fix/issue-877-comma-letter-report

Conversation

@derek73

@derek73 derek73 commented Nov 4, 2026 •

Copy link
Copy Markdown
Owner

Closes #877

What changes

After a family comma, a bare I or V ending the given part behind a name word reads as the generational suffix (rules/C9: a one-character suffix word inside a comma part). The comma path never reported that guess. The comma-less John Doe V already does.

The parse now reports suffix-or-name on the letter, with the same wording as the comma-less report. The reading it names as not taken is the middle initial. The reading itself is unchanged: 1.4.0's, and #144's data.

Input Reading (unchanged) Report
Doe, John V suffix V suffix-or-name, new
DOE, JOHN I suffix I suffix-or-name, new
Doe, Jane I Mrs title Mrs, suffix I suffix-or-name, new
Doe, John V. middle V. none: the period settles it
Doe, John V, Jr middle V none: the further comma settles it
Smith, PSM I suffix PSM I none: the run settles it
Smith, John v suffix v none: S10's case settles it
Smith, Van V suffix V none: a particle in front decides the field by its chain
Smith, John de la V suffix V suffix-or-name, new: a particle run's field is known

Why report it. FEC writes the bare letter in this slot about as often as letter frequency predicts a middle initial would appear (issue #877 has the counts), while #144's file wrote it as the generation. Nothing in the writing tells the two apart. That passes AGENTS.md's test that a reader would hesitate too. This is a new emission of an existing kind, not a new kind.

Not decided here:

  • flipping the default reading to the middle initial;
  • the strict switch, which the given-part walk does not consult.

AGENTS.md. The "a kind is worth adding only if a reader would hesitate" bullet used Smith, John V as its example of a fork nobody hesitates over. That example contradicted both the code and the data. It now uses Smith, John V..

Measured

snapshot.py --local <source> --base <origin/master c6207549>. No field moves anywhere; only reports are added.

Source Names gaining the report
fec-individuals 3,174 (the issue estimated about 3,180)
ctgov-officials 4 (Fazal H Shah, FCPS I, behind the unlisted credential FCPS, which is read as the given name)
psc-individuals 0
committed corpora 4 existing entries

Review

The code review found two problems:

  • Wrong reading not taken after a never-given particle (Smith, de Mesnil V, where P1's fold takes the letter into the family). This had already affected the shared numeral report (Smith, de Mesnil VI). Fixed, with rows added to _REVIEW_SHAPES.
  • A wrong rationale for the particle exclusion. The exclusion is kept and its reason is corrected in rules/C9 and decisions/C9. The narrower exclusion the review suggested named the wrong field in 120 of 1,695 grid reports.

Because as_a_middle is shared, the field fix also corrects the reading not taken by S10's numeral report, S8's absorbed-word report and #531's class-member report wherever P1's fold opens the given part. A second review, of the fix commit, ran the project's oracle over 5,987 texts under the three orders: failures fell from 1,722 to 294 and no new failure appeared. The 294 left (Pharm D, and a chain behind a title-particle) fail on master too. A stand-in oracle grid (each reported letter replaced by Q, then the parse checked for where Q lands) now finds 0 wrong of 1,035.

The test-coverage and comment reviews added rows for a particle run and a connective in front, which report (the field is known), narrowed rules/C9's exclusion to a lone particle, and tightened the citation comments.

Docs amended: rules/C9, decisions/C9, AGENTS.md, the _assign stage header and the release log. The suite passes on 3.11 and 3.15.

🤖 Generated with Claude Code

@derek73 derek73 added this to the 3.0 milestone Nov 4, 2026
@derek73 derek73 self-assigned this Nov 4, 2026
derek73 and others added 7 commits November 4, 2026 19:51
rules/C9 (a one-character suffix word inside a comma part) reads the
bare letter behind a name word as the generation, and the comma path
never reported the guess that the no-comma 'John Doe V' reports. FEC
writes the letter as a middle initial about as often as letter
frequency predicts, so a reader hesitates too. assign's given-part
walk now emits suffix-or-name there, with the no-comma wording and the
middle initial as the reading not taken. The reading is unchanged.

AGENTS.md's "a kind is worth adding only if a reader would hesitate"
bullet used 'Smith, John V' as a fork nobody hesitates over; it uses
'Smith, John V.' now.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…exclusion (#877 review)

The reading not taken named the middle for 'Smith, de Mesnil V', where
the fold of a never-given particle opening the given part takes a
letter into the family; the shared numeral report had the same gap.
The exclusion of a letter behind a particle is kept, its reason
corrected and stated in rules/C9: the chain decides the field, and the
walk cannot name it. The stage header lists the new site.

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

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ointers (comment review)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A run of particles and a connective in front are name words whose
field the report can name ('Smith, John de la Q' reads middle 'de la
Q'), so the letter behind them is reported; rules/C9 says 'a lone
particle' for the exclusion.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@derek73
derek73 force-pushed the fix/issue-877-comma-letter-report branch from 5c61f5d to bfae56f Compare November 5, 2026 03:57
@derek73
derek73 merged commit 1cb6112 into master Nov 5, 2026
13 checks passed
@derek73
derek73 deleted the fix/issue-877-comma-letter-report branch November 5, 2026 04:10
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 Doe, John V report that the V might be a middle initial?

1 participant