Skip to content

Should parse("Smith, Jr.") put "Jr." in title rather than suffix? #296

Description

@derek73
>>> parse("Smith, Jr.").title
'Jr.'
>>> parse("Smith, Jr.").suffix
''
>>> parse("Smith, Jr.").family
'Smith'

A one-word-before-comma name routes the lone post-comma piece to title, even when that piece is recognized suffix vocabulary. Any name of this shape does it — parse("Kim, Jr."), and since 2.1 the Korean equivalent parse("김민준, Jr.") inherits it identically.

Provenance, established during the #294 review rounds: this is not a #271 regression — results are identical with both CJK defaults disabled — and it is adjacent to a deliberate 2.0 change, classified in tools/differential/expected_changes.toml as "fix(comma-family): lone post-comma piece routes to suffix/title, not first" (v1 put the lone piece in first). The open question is narrower than that rule: within it, a piece that is unambiguous suffix vocabulary ("Jr.", "PhD") lands in title when suffix seems the natural field.

To decide: (a) is the title routing intended fallout of the 2.0 rule or an ordering bug in the lone-piece branch of _pipeline/_assign.py's FAMILY_COMMA path; (b) if a bug, whether fixing it in a 2.x minor is another release-log-classified fix (the differential rule's fields list already covers title/suffix movement for these shapes). Two-word forms are unaffected — parse("John Smith, Jr.") yields suffix='Jr.' — so the blast radius is the one-word-family shape only.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions