Skip to content

rules/M4: name the bound-given carve-out for what it reads - #1109

Merged
derek73 merged 3 commits into
masterfrom
docs/m4-except-wording
Nov 6, 2026
Merged

derek73 merged 3 commits into
masterfrom
docs/m4-except-wording

Conversation

@derek73

@derek73 derek73 commented Nov 6, 2026 •

Copy link
Copy Markdown
Owner

A docs-only follow-up to #815 (PR #1107). No reading moves.

rules/M4 (a maiden marker makes the lone name word the family) said in its Except: "A word the vocabulary has claimed as a given name keeps that reading". The guard has only ever read the vocab:bound-given and initial tags (_NEVER_FLIPPED). When #445 wrote the sentence, the bound-given claim was the only given-name claim the vocabulary held. Plain given readings arrived later, from #752's phase 2i and from #789, and M4 flips those words:

abd née Jones     →  given 'abd'      (bound given name: kept)
Chas. née Jones   →  family 'Chas.'   (a given name written short: flipped)
Dean née Jones    →  family 'Dean'

The code has flipped these words since #445's own commit: Van née Jones and Di née Jones read family there. Chosen: keep the code, narrow the words, and state the flip as a cost.

Changes

uv run pytest, mypy and ruff pass.

Reviews

  • design-docs-reviewer, on the first commit: four findings, all fixed.
    • The Chas. row sat in the Except fence though Then holds for it; moved to Accepted.
    • The Except's reason argued against the flip. The design question went to the maintainer, who chose A: narrow the words.
    • The history wrongly dated the gap from 2026-10-26.
    • "Nobody's family name" was false under the family-first orders.
  • design-docs-reviewer, on the fix commit fff94a3: four findings, all fixed.

🤖 Generated with Claude Code

M4's Except said "a word the vocabulary has claimed as a given name
keeps that reading", but the guard reads only the vocab:bound-given
and initial tags. Words with a plain `given` reading, which arrived
after #445 (#752's phase 2i, #789), are flipped: `Chas. née Jones` ->
family 'Chas.'. The words now say a bound given name, with that name
as a boundary example; the two code comments quoting or paraphrasing
the old words follow, and decisions/M4 records it. No reading moves.

Found by the third review round of #815 (PR #1107).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@derek73 derek73 added this to the 3.0 milestone Nov 6, 2026
@derek73 derek73 added the docs Documentation fixes and updates label Nov 6, 2026
@derek73 derek73 self-assigned this Nov 6, 2026
derek73 and others added 2 commits November 5, 2026 20:29
Following the design-docs review of the narrowing: M4's Except gives
its reason as not overruling what a word already IS, so the flip of a
word the vocabulary reads only as possibly a given name is now an
Accepted bullet (Chas. née Jones, Van née Jones -> family) with its
ground, the marker naming the surname, as a title does under H1. The
Except drops "which is nobody's family name", false under both
family-first orders. decisions/M4's entry corrects its history: the
flip dates from #445's own commit (ambiguous particles), not from
2026-10-26, and records widening the carve-out as declined.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- decisions/M4: name every PR that added given readings, #883 among
  them (the conversion that gave van its reading); the declined
  widening now carries its measurement (one corpus name moves, the
  entry's own example), and the H1 analogy is stated as support only,
  since H1 also flips an initial (Dr. J. -> family 'J.').
- rules/M4: the Accepted bullet rests on the marker alone, without the
  H1 analogy.
- mechanisms.md#TWO-LAYER-ASSIGN: a claim is a word's role; a given
  reading is a lean the field rules read past.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@derek73
derek73 merged commit 88c3a2d into master Nov 6, 2026
13 checks passed
@derek73
derek73 deleted the docs/m4-except-wording branch November 6, 2026 04:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docs Documentation fixes and updates

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant