Repository navigation
Give decisions/R1, R2, R3, R5, render-default and comparison-surface a Standing block (#762) - #830
Merged
Merged
Conversation
…a Standing block (#762) Each file gains a ## Standing block (one present-tense line per decision in force, pointing at its entry) and a ## Log heading, and leaves decisions_without_standing.json. Entries reversed in whole or in part gain an edit-kind-1 head note: R1's #429 (between-piece rule, #436/#437), R2's 2026-08-16 #385 (#404/#385), its pre-merge coherence pass and 2026-08-29 #461, R3's #462 (#528), and R5's #407-arc extraction (#492) and two 2026-08-29 entries (#383/#479). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018LRitdX44LU6ZNvxM7v8QX
Scope R2's unjoined-mark line to initials() and point at R4's carve-out; state R5's gate over the words outside the suffix and name its main fence's boundary; spell R3's composition examples with escapes and correct #585's Devanagari example in place (edit kind 2); mark the heads of R3's #528, R1's #436/#437 and R2's 2026-08-16 bullet against what reversed them; re-point two Elsewhere attributions. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018LRitdX44LU6ZNvxM7v8QX
…delimiter (#762) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018LRitdX44LU6ZNvxM7v8QX
Key-form pointer in R5; R1's #436/#437 head note names both corpus names #602 moved and the policies, says no entry records the nee move, and spells the (Derek) heads; the #613 note moves from #429's body to its head; R2 names its lexicon; R3's edit-kind-2 note no longer calls the decomposed nukta initial correct, and its Elsewhere line drops an own-file pointer; R4's CONJUNCTION CARVE-OUT head marked against #461. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018LRitdX44LU6ZNvxM7v8QX
R1's #436/#437 head note names M2's #601 as the entry that moved Smith, MD nee Jones PhD; the differential-ledger pointers in R2 and R3 carry the twin key that picks the snapshot entry. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018LRitdX44LU6ZNvxM7v8QX
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #830 +/- ##
=======================================
Coverage 99.05% 99.05%
=======================================
Files 47 47
Lines 4659 4659
=======================================
Hits 4615 4615
Misses 44 44 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
derek73
added a commit
that referenced
this pull request
Oct 22, 2026
…rs (#833) * Mark P8's and R1's moved readings; give M2's #549 its head note's place - decisions/P8: the #383 + #479 entry's JUAN Y GARCIA 'J. G.' reading is marked superseded by #461 (decisions/R3); both views give 'J. Y. G.'. - decisions/R1: the #760 entry's nee example moved with #601 (1037c87), measured either side; for 'Smith, ...' the comma was a family comma before as after. - decisions/M2: Not standing no longer lists the #538 resolution a later decision reversed; its head note carries that (README edit kind 1). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Close #762: retire the Standing exempt list; fix the round-3 leftovers Every decisions file now opens with ## Standing except the five reference lists, so the exempt list and its frozen original set go: tests/v2/decisions_without_standing.json is deleted and REFERENCE_LISTS, its size asserted, fixes the one kind of file that carries no block. standing_roster_findings and its tests follow, and decisions/README.md and docs/design/AGENTS.md say so. Round-3 review leftovers (#830, #831, #832): - rules/R3: a base letter and its mark initial whole only where they compose; a mark NFC leaves separate (a nukta after ja, U+095B being a composition exclusion) is left out, as decisions/R3's #585 decided. - decisions/parse-cost: a 2026-10-04 #601 entry records the link pin's re-pointing (2,301 -> 2,678); test_benchmark's _CALL_BASELINE comment names #624 and #625. - decisions/cjk-full-stops: the bullet approved 2026-09-09 gets its own dated line, and its two Standing lines point there. - decisions/README.md: #832's bundle-dating sentence is split into four. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Scope the same-day dating rule to undated bullets; mark #601's pin superseded; give R1's correction both policies Review of da3e855: the split README sentence let a same-day bullet whose text gives a date keep the bundle's date, contradicting the cjk-full-stops line; parse-cost's #601 entry presented 2,678 as current though #617 moved it; R1's correction gave the default policy's before-reading only. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- 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.
Part of #762, final round. This batch covers the R section plus the two rendering files.
What changed
Six files in
docs/design/decisions/gain a## Standingblock and a## Logheading, and their keys leavetests/v2/decisions_without_standing.json:Each Standing line states what the tree does today. Every example a line cites was parsed on this branch: for view lines,
initials(),capitalized()andcapitalized(force=True)were checked; for lines about them,replace()andrevise()too. The facade examples were run throughHumanName.Edit-kind-1 head notes
Added where a later decision reversed an entry in whole or in part:
segment_suffix_readingby C1's Rethink the suffix-comma rule (C1): decide the comma's structure once, after the words are tagged #613.Smith, Ph. D. Smith, by C13's Should a comma part opening with a credential be a suffix comma?John Smith, PhD Jonesreads familyJohn Smith#603;Smith, MD nee Jones PhD, by M2's Rethink the maiden-marker rule (M2): a marker stands after the current name and takes words up to the trailing suffix run #601;Smith, MD - PhD - FACSandJohn Doe, MD - PhD - FACSunder the default policy, by S8's Should a name word after a credential join the suffix?John Smith PhD Jonesreads middleSmith PhD#602;Smithrow underextra_suffix_delimiters={' - '}, by Should a name word after a credential join the suffix?John Smith PhD Jonesreads middleSmith PhD#602 as well.family_base? (parse("Anh Do").initials() == 'A.'— the surname vanishes) #385: fullySUPERSEDED byShould a particle that joins nothing still count as a particle? (Jong van derandJong, van deralready disagree) #404/Should a family name that is all particles have an emptyfamily_base? (parse("Anh Do").initials() == 'A.'— the surname vanishes) #385.Jong van derandJong, van deralready disagree) #404/Should a family name that is all particles have an emptyfamily_base? (parse("Anh Do").initials() == 'A.'— the surname vanishes) #385 reversed are marked.rules.md#R3's "a conjunction never initials" is unqualified:Juan de yhas baseyand initialsJ.#461: the given group it left unsettled, and its readings that "may not move", superseded by 2026-09-20rules.md#R3's "a conjunction never initials" is unqualified:Juan de yhas baseyand initialsJ.#461.HumanName('Scott E. Werner').initials()drops the middle initial — the facade readsEas the conjunction #462's shape test was superseded byHumanName.initials()re-derives the conjunction decision instead of honoring the parse's tags:john e smithgivesj. s.from the facade andj. e. s.fromparse()#528.HumanName.initials()re-derives the conjunction decision instead of honoring the parse's tags:john e smithgivesj. s.from the facade andj. e. s.fromparse()#528'sjuan y garciaandJUAN Y GARCIAreadings were superseded byrules.md#R3's "a conjunction never initials" is unqualified:Juan de yhas baseyand initialsJ.#461.capitalized()lowercases a word thatfamily_baseandinitials()treat as an ordinary name (ANH DO->Anh do) #407-arc extraction: the suffix's place in the gate is now A capitalized roman-numeral suffix shouldn't stop no-force capitalization — "juan garcia III" stays lowercase #492's.Jose E Maria Santosjoin likeJose e Maria Santosdoes? (the single-letter connective's Latin-capital veto was never adjudicated) #383/JOSE E MARIA SANTOSreads the conjunctionEas an initial; an all-caps name carries no case signal to read it from #479.rules.md#R3's "a conjunction never initials" is unqualified:Juan de yhas baseyand initialsJ.#461.Edit-kind-2 correction
R3's #585 entry cites the Devanagari example
ज़ाकिर. The text had stored it decomposed (U+091C U+093C), which initialsज., so it read as the very bug #585's review fixed. The example is now written with the U+095B escape, and a note says what was wrong.Review
design-docs-reviewer(opus) ran four rounds. Rounds 1–3 found 8, 8 and 2 problems; round 4 found nothing.initials().initials()drops the accent from a decomposed (NFD) name:émile zolagivese. z.#585 examples did not hold: the decomposed ज़ and a composed ジ.HumanName.initials()re-derives the conjunction decision instead of honoring the parse's tags:john e smithgivesj. s.from the facade andj. e. s.fromparse()#528 head was unmarked againstrules.md#R3's "a conjunction never initials" is unqualified:Juan de yhas baseyand initialsJ.#461.John Smith PhD Jonesreads middleSmith PhD#602 note covered only one policy and one name.rules.md#R3's "a conjunction never initials" is unqualified:Juan de yhas baseyand initialsJ.#461.Smith, MD nee Jones PhDmove is recorded by M2's Rethink the maiden-marker rule (M2): a marker stands after the current name and takes words up to the trailing suffix run #601.The
MD - PhD - FACSrows are pinned under the" - "delimiter (_SDintests/v2/cases.py), and the R1 note now says which reading moved under which policy.Stale text found and left
ज., dropping the nukta. The precomposed U+095B keeps it. So NFC-normalized Devanagari loses its nukta in the initial, contradicting that sentence.Jose E Maria Santosjoin likeJose e Maria Santosdoes? (the single-letter connective's Latin-capital veto was never adjudicated) #383 +JOSE E MARIA SANTOSreads the conjunctionEas an initial; an all-caps name carries no case signal to read it from #479 entry says both views give "J. G." forJUAN Y GARCIA. Sincerules.md#R3's "a conjunction never initials" is unqualified:Juan de yhas baseyand initialsJ.#461 both give "J. Y. G.". P8 is outside this batch, so it is left unmarked.neemove to "the comma now read as a family comma". ForSmith, …that comma was already a family comma; the move is Rethink the maiden-marker rule (M2): a marker stands after the current name and takes words up to the trailing suffix run #601's. The diagnosis is plausible, not confirmed, so it is left as written.Tests
test_design_docs,test_doc_citationsandtest_rules_docpass.unmatched_opens,maiden_pairs). Rerun alone, both pass twice on this branch and twice on anorigin/masterworktree. The branch changes no code.Generated by Claude Code