Skip to content

An example name asserted outside the format it exemplifies pins nothing (Nguyen Thi Van is pinned under FAMILY_FIRST) #470

Description

@derek73

rules.md#P6 pins Nguyen Thi Van under both family-first orders:

"Nguyen Thi Van"  family-first-given-last  →  given="Van"
"Nguyen Thi Van"  family-first             →  middle="Van"

It is an FFGL-format name. Its FF reading is wrong by construction, so the second line asserts an output nobody wants and nothing should depend on — and freezes a value that a future fix would have to be described as "breaking". The same shape, reversed, applies to Beethoven Ludwig van asserted under FFGL.

An example name carries a format. Asserting it outside that format tests the parser against a premise the name never had.

rules.md has nowhere to record this today: an example line carries an input, an optional policy annotation, a field and a value, but nothing that says which format the name is written in — so there is no way to distinguish "this is the answer for this name" from "this is what falls out if you parse it under a format it was never written in".

Why this bites now, measured

rules.md's ambiguous-particle coverage is one word deep. Of the 37 ambiguous particles in the shipped vocabulary, only 4 appear in an example where the particle stands alone: abu, del, do, van — and van is 12 of those 18 occurrences. von, le, la and freiherr appear only inside chains (Freiherr von Berg, de la Vega).

So a rule about a lone ambiguous particle is effectively tested through one word, and that word drags a second particle (van der) behind it. A format label would make it visible that the coverage is one name deep rather than eight.

Questions

  • Should an example line be able to declare its format, and should the doc test refuse to run a name outside it?
  • Or is the right unit a Not-an-example-of: note, so the FF line for Nguyen Thi Van can be deleted with a reason rather than silently?

Metadata

Metadata

Assignees

Labels

docsDocumentation fixes and updatesquestion

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions