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
Ursula von der Leyen geb. Albrecht loses the maiden name — a particle chain swallows the marker where a suffix stops it #399
A bare maiden marker is recognized normally, but a particle chain running into it absorbs the marker and the maiden name with it:
Ursula Leyen geb. Albrecht -> family='Leyen' maiden='Albrecht'
Ursula von der Leyen geb. Albrecht -> family='von der Leyen geb. Albrecht' maiden=''
The same words, one particle chain apart. (Ursula von der Leyen's maiden name is Albrecht.)
The boundary is precise: only a particle that is not the name's LEADING piece
A leading particle chains nothing (rule P4), so it never reaches the marker:
von Müller geb. Schmidt -> maiden='Schmidt' pieces [von][Müller] works
zu Guttenberg geb. Schmidt -> maiden='Schmidt' pieces [zu][Guttenberg] works
Anna von Müller geb. Schmidt -> maiden='' pieces [Anna][von Müller geb. Schmidt] mid-name chain
von der Müller geb. Schmidt -> maiden='' pieces [von][der Müller geb. Schmidt] second particle of a leading run
That last row is worth noting: a leading run of two or more particles still breaks, because the second particle is not the leading piece and its chain fires.
Why
Grouping's prefix chain absorbs everything up to the next prefix or suffix piece (_group.py:270), and its maiden-marker handling runs afterwards (_group.py:420). By then the marker is inside a merged piece and there is no marker piece left to find. A suffix bounds the chain; a maiden marker does not:
Anna von Müller MD -> pieces [Anna][von Müller][MD] suffix='MD'
Anna von Müller geb. Schmidt -> pieces [Anna][von Müller geb. Schmidt] maiden=''
Scope
Both name orders — the default order loses it too, so this is not a consequence of #395. Every bare marker: geb., née, nee. Jane van der Berg née Jones fails the same way. The delimited form is unaffected (Ursula von der Leyen (geb. Albrecht) → maiden='Albrecht'), because extract_delimited runs before grouping.
Proposal
Give the chain's inner loop a maiden-marker stop, the way it already has a suffix stop.
Verification is structurally weak here
Of the 751 differential corpus names, 6 carry a bare maiden marker and none of them has a particle ahead of it, so the harness cannot see this class at all — a clean exit will mean nothing. Tests are the verification, and docs/design/rules.md's M1/M2 need the interaction stated with an interacts: pointer.
Also worth deciding
Whether the marker should bound P1's leading run under a family-first order. It counts as an ordinary name word for the leftover placement today, which is why de la Cruz née Vega reports given='née'.
Activity
docs(mechanisms): UNIT-PARTITION, and PIECES' known limit
fix(maiden): a marker stops the particle chain that swallowed it
fix(maiden): gate the marker stop on the consumer taking the marker
test(maiden): drop the synthetic cross-script row and its ledger mach…
fix(differential): stop the new rules from claiming what they exempt
fix(differential): harvest names written in backticks
feat(differential): regenerate the issues corpus from the backtick ha…
fix(group): screen a tail's delimiter cores before the marker pass
test(maiden): pin what the reorder's record claimed, from review
fix(bound-given): count the reserve against the name that will remain
docs(design): record the marker-pass reorder for derek73#412/derek73#417
feat(differential): rules can scope to the default order, and order-b…
feat(differential): the shape-matrix contract corpus, generated from …
fix(derek73#535): a trailing title ends the maiden clause
docs(derek73#535): narrow the transparency and numeral claims