Repository navigation
rules/M4: name the bound-given carve-out for what it reads - #1109
Merged
Merged
Conversation
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>
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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-givenandinitialtags (_NEVER_FLIPPED). When #445 wrote the sentence, the bound-given claim was the only given-name claim the vocabulary held. Plaingivenreadings arrived later, from #752's phase 2i and from #789, and M4 flips those words:The code has flipped these words since #445's own commit:
Van née JonesandDi née Jonesread family there. Chosen: keep the code, narrow the words, and state the flip as a cost.Changes
Chas. née Jones,Van née Jones→ family.givenreading is a lean, and the field rules H1 and M4 read past it._post_rules.pyand_assign.py: the comment quoting M4 follows the new words, which the citation test requires. The paraphrase beside_WORD_ALREADY_CLAIMEDchanges to match.givenreadings arrived from 2026-10-19 (Classify the particles by language and kind (#749) #765 … Derive the two name-clash markers from name readings (#752) #883).corpus*.jsonlname under three orders, it moves one name, the entry's own example.rules_budget.jsonre-recorded, since M4 grew. The two new examples entercorpus_rules.jsonlandsnapshot.jsonlas new entries; nothing moves.uv run pytest,mypyandruffpass.Reviews
Chas.row sat in the Except fence though Then holds for it; moved to Accepted.Dr. J.→ family), so it is now support only.🤖 Generated with Claude Code