Repository navigation
Add generation and credentials views over suffix (3.0, 4b) - #947
Merged
Merged
Conversation
…kind (3.0, 4b) A listed suffix word's kind is read from the reading index, so Jr and Sr read as a generation in Token.reading and Ambiguity.alternative alike through _vocab.suffix_kind. rules/R8, decisions/R8. Closes the 4a seam. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Two words of one view are separated by a comma only where one was typed between them (rules/R1). R8's examples, Accepted bullets and decisions pointers follow the design-docs review. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ix-views-d134c9 # Conflicts: # docs/design/decisions/vocabulary-model.md # docs/release_log.rst
…eview)
A delimiter glued to a generation word ('Jr.;', 'III;', 'V;') put it in
credentials: the kind was looked up from the token text. Classify now
writes a kind tag from the stem it reads every word by, assemble drops
it from the published token, and one test walks every suffix-set word.
R8 records names unpickled from 2.x and name words in the suffix.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…view) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 31, 2026
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.
3.0 sub-phase 4b of #754: the
generationandcredentialsviews over thesuffixrole (#326). The seven roles stay the same and no role field of any parse moves.What changes
ParsedName.generation/ParsedName.credentialssplitsuffixinto two parts by theToken.readingeach word took. A generation or agnomen goes ingeneration; everything else goes incredentials: credentials, the honorifics,Esq.(CLDR's catch-all). For example,parse("Smith, John, Jr., MD, Esq.")gives'Jr.'and'MD, Esq.', andsuffixis unchanged.MD Jr. PhDgives credentials'MD PhD'.family_base, they arerender()keys and rule-example fields. They are not inas_dict(),--jsonor the repr.parse("John Smith")gives''for both.Jr/Srseam. Classify looks up a listed suffix word's kind in the reading index (new_reading_index.suffix_kind_of, memoized), using the same key it reads the word's other tags by. That key has any glued delimiter removed (Jr.;, rules/C10). Classify records the kind as an internal tag,vocab:generation-wordorvocab:credential-word._vocab.suffix_kindreads the tag, soToken.readingandAmbiguity.alternativestill go through one function. Assemble strips the tag from published tokens, so a 2.x pickle still equals a fresh parse.Jr/Srnow readgeneration.博士…) readcredential.post-nominal.Jr'sAmbiguity.alternativenames a generation where 2.7.0 and 2.8.0 named a post-nominal. The release-log bullet says so._vocabmay now import_reading_index(layering table and AGENTS.md updated).Docs (same-PR amendment)
New rules/R8 (the generation and credentials views) and decisions/R8, which records what the implementation decided and the measurements with their recipes. Also updated: the S background, R1's separator bullet, an in-part supersession marker in A1, decisions/suffix-field-composition, the vocabulary-model log, the RFC's Phase 4 status and table, usage.rst, and the release_log Unreleased bullet.
Measured (2026-10-29, recipes in decisions/R8)
generation/credentials. Of the 65 whose parsed suffix holds exactly CLDR's words, all 65 split into CLDR's two fields.Smith, Ph. D. Jr. MD(separator) andJohn Smith, V; MD(glued delimiter) changed. No role, ambiguity or alternative moved.Checks
uv run pytestanduv run pytest -n0 -m serialpass; the frames band is unchanged.;as part of the word, soJohn Smith Jr.; MDstays all credentials.🤖 Generated with Claude Code