Repository navigation
Add docs/design/vocabulary-model-rfc.md, where the vocabulary model is going - #758
Merged
Merged
Conversation
derek73
added a commit
that referenced
this pull request
Oct 19, 2026
From the review of the fix commit on #758: - The gates today are six rules, one per class of word (S3/S4/S6, S10, H3, P4, P5, P8); the list of "ungated kinds" was wrong for generation words, titles and bound given names. Phase 2 is restated as making the gate a property of a reading. - decision 15's example is John Smith DO, which loses its suffix without do's credential reading; John Smith D.O. does not (rules/S3 reads the dotted shape). The strict-pack example is dropped: decision 6's strict drops name readings only. - The surname-span measurement no longer ranks gaps; its corpora were built to hold second surnames. - decisions/vocabulary-model: decision 11 widened to words a file refuses, as Derek decided 2026-10-19, matching fils in fr.toml. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…s going (#748) A design overview beside nameparser-2.0-rfc.md, distilled from the working notes behind decisions/vocabulary-model, which stays the record and wins where the two differ: why readings replaced the sets; phase 1 as shipped; phase 2 (ambiguity derived from readings, the gate as a property of a reading, starting from today's six gate rules, with fils as the worked case); phase 3 (prefer and strict packs, decision 15 worked through do, a pack outranking a shape rule, and the reversal of #684's premise); phase 4 (order versus shape, the rules a pack can choose, the output model). The first-pack ranking is left to #747. Every "today" parse was measured on e9855df; corpus counts are dated. decisions/vocabulary-model: the reserved-name list gains prefer and strict (reserved in build.py since #737), and decision 11 is widened to words a file refuses, as Derek decided 2026-10-19. The vocab README links to the RFC. Closes #748. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
derek73
force-pushed
the
feat/vocab-rfc-748
branch
from
October 19, 2026 22:00
4e8103a to
d5f136f
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #758 +/- ##
=======================================
Coverage 99.05% 99.05%
=======================================
Files 47 47
Lines 4642 4642
=======================================
Hits 4598 4598
Misses 44 44 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
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.
Closes #748. Follows #757 (merged), whose
nameparser/vocab/README.mdit links to and which now links back. Rebased onto master as one commit after #757's squash; the earlier review rounds ran on its pre-squash commits, whose final tree this matches.What. A design overview of the vocabulary model, beside
nameparser-2.0-rfc.md. decisions/vocabulary-model stays the record and wins where they differ.filsis the worked case (a today vs gated table, emulated). It lists the gates that exist today as six rules, one per class of word (S3/S4/S6, S10, H3, P4, P5, P8), and restates phase 2 as making the gate a property of a reading. It covers the contested-head rule for titles at the front.do(John Smith DO); a pack can outrank a shape rule (Ma.). It records that decisions 6 and 15 reverse Locale packs forAlexandre Dumas filsandJiří Dienstbier ml.: generational words that collide outside their language #684's premise: a French pack keeps both French readings offils, so the gate, not a pack, keepsMarie Fils's family name.Also: decisions/vocabulary-model's reserved-name list gains
preferandstrict, reserved inbuild.pysince #737, and decision 11 is widened to words a file refuses (Derek, 2026-10-19), matchingfilsinfr.toml; the README links to the RFC.Verification. Every "today" parse was re-measured on
e9855df0; corpus counts carry their date and tree, and the review recounted 315/390 and 0/60 from the agreement records. A docs-review pass ran the twelve axes, and its findings are fixed: the gate inventory, the S3 citation, the #684 reversal, the stale reserved-name list, aVan Burenexample that contradicted decision 4, the decision 11 wording againstfils, and open questions now linked to their issues. Content traceable to a private source was removed, including the ranked first-pack list. A second review of that fix commit found the gate list still wrong (generation words, titles and bound given names are gated by S10, H3 and P5), theJohn Smith D.O.example falsified by S3, decision 11 unamended, a ranking the corpus sampling produced, and a strict-pack example decision 6 does not support; all fixed in the last commit.🤖 Generated with Claude Code