Skip to content

Should a maiden clause keep a credential it would hand to a name part? Dr. nee Smith PhD Prof. reads family PhD #548

Description

@derek73

A maiden clause ends at the first suffix word after the marker (rules.md#M2), and nothing asks whether the words from that suffix word on can actually be read as post-nominals once the clause has left. Where they can't, they land in a name part:

>>> parse("Dr. nee Smith PhD Prof.")
ParsedName(title='Dr. Prof.', family='PhD', maiden='Smith')
>>> parse("Dr. nee Smith Jr. Prof.")
ParsedName(title='Dr. Jr.', family='Prof.', maiden='Smith')
>>> parse("Doe nee Smith Jr. Prof., Jane")
ParsedName(given='Jane', family='Doe Prof.', suffix='Jr.', maiden='Smith')
>>> parse("Dr. nee Smith i MA")
ParsedName(title='Dr.', family='i', suffix='MA', maiden='Smith')
>>> parse("Doe, Jane nee Smith PhD Smith")
ParsedName(given='Jane', middle='Smith', family='Doe', suffix='PhD', maiden='Smith')
>>> parse("Jane Doe nee Smith PhD Smith")
ParsedName(given='Jane', middle='Doe PhD', family='Smith', maiden='Smith')

This breaks M2's own invariant — "a word the clause gives up reads as a post-nominal or the clause keeps it" — which the trailing numeral, credential and title stops now honor (#533, #535) through one release check asked of the span they give up. The plain suffix-word stop is the one that never asks. #535 left it alone on purpose: it is older than the other three, it runs on every clause, and "keeps it" has no obvious meaning here.

Reach. Most of it is degenerate input — a bare title before the marker (Dr. nee …), or one word before a family comma (Doe nee …, Jane) — but not all: a credential in the MIDDLE of an ordinary clause (Doe, Jane nee Smith PhD Smith) does it too. Measured 2026-09-26 over #535's 327,936-text grid (heads × 1–3-word bodies × , PhD tail × case; recipe in decisions.md's #535 entry): 17,854 texts break the invariant, every one with the clause ending immediately before a suffix-vocabulary word; 11,149 more over the 173,057-text bound-given grid. Unchanged by #535; the 2.3.0 wheel reads the examples above identically except Dr. nee Smith i MA, which it read worse (given i, family MA).

The question. What should "the clause keeps it" mean at this stop?

  1. Run on: the clause takes the suffix word and what follows (Dr. nee Smith PhD Prof. → maiden Smith PhD Prof.). Keeps the invariant; puts a credential in a birth name.
  2. Decline the take: the marker stays an ordinary word, as it does for Jane Smith née PhD today (Dr. nee Smith PhD Prof. → whatever the name reads without a clause).
  3. Release anyway and accept: document the degenerate heads as a boundary. Leaves Doe, Jane nee Smith PhD Smith middle Smith.

Related: #535, #533, #424.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions