Skip to content

docs(decisions): Standing blocks for fourteen small decisions files (#762) - #831

Merged
derek73 merged 6 commits into
masterfrom
docs/standing-small-sections
Oct 22, 2026
Merged

derek73 merged 6 commits into
masterfrom
docs/standing-small-sections

Conversation

@derek73

@derek73 derek73 commented Oct 22, 2026

Copy link
Copy Markdown
Owner

Part of #762, final round, the small-sections batch. Two other batches are running in parallel: one covers R1, R2, R3, R5, render-default and comparison-surface; the other covers differential-ledger, parse-cost, comma-suffix-arc, deviates-registry, review-agent-single-source and 3-0-reevaluations. This PR touches none of their files.

What changes

These fourteen files in docs/design/decisions/ each gain a ## Standing block and a ## Log heading, and leave tests/v2/decisions_without_standing.json:

  • A1 (the ambiguity report)
  • A2 (the empty name)
  • D1 (the segmenterless-activation warning)
  • D2 (construction raises, parse never does)
  • N1 (the default delimiter pairs)
  • N2 (same-character quotes and shared-character conventions)
  • N3 (the lone-word nickname rule)
  • T1 (separators, not joiners)
  • T3 (the interpunct's flank guard)
  • T4 (the bare letter as an initial)
  • phd-merge
  • suffix-field-composition
  • two-input-invariants
  • v1-xfail-triage

I parsed every example a Standing line cites on the tree. For each line I also grepped the whole decisions/ and rules/ folders for later entries that changed it.

Edit-kind-1 notes on entry heads, where a later decision reversed part of the entry:

Edit-kind-2 correction: phd-merge's #288 entry said the spaced and unspaced Ph. D. "read alike". That never held mid-name or at the head, on the 1.4.0 and 2.0.0 wheels as on the tree:

  • mid-name: John Ph. D. Smith gives suffix 'Ph. D.', while John PhD Smith gives middle 'PhD';
  • at the head: Ph. D. Van Johnson gave title 'Ph.' at 1.4.0 and suffix 'Ph. D.' at 2.0.0, where Ph.D. Van Johnson gave given 'Ph.D.'.

The entry now says "at the end of a name", with a dated note. Its "Scoped by #371" parenthetical became a pointer to #371's head change.

A dated Log line added for an undated bullet: v1-xfail-triage's #485 bullet had no entry of its own. It gains 2026-09-01 #485, dated by the triage commit that wrote it (d02dc41, 2026-09-01), not by the file split that last moved it.

rules/ edit, a claim the tree contradicted: rules/S2's Accepted bullet said a title before the credential costs the name its surname. That holds only behind a title run that addresses by the given name: Sir Ph. D. Van Johnson has an empty family, while Dr. Ph. D. Van Johnson and Sir Dr. Ph. D. Van Johnson keep family 'Van Johnson'. The bullet now says "behind a title run that addresses by the given name (H1)". The S2 entry in tests/v2/rules_budget.json was re-recorded: accepted_words went from 203 to 214. The new words scope that one existing clause and read no new signal.

Review findings (design-docs-reviewer, five rounds)

Round 1, seven findings, all fixed:

  1. phd-merge overclaimed that the spellings read alike mid-name (decisions/S7 Should a credential run after a comma keep its comma when the last word is an ambiguous acronym? John Smith, PhD MEng reads first PhD, last John Smith #544 and decisions/S8 Should a name word after a credential join the suffix? John Smith PhD Jones reads middle Smith PhD #602 part them).
  2. rules/S2's surname-loss claim was too broad (see above).
  3. N3 stated M4's decision as a Standing bullet instead of an Elsewhere line.
  4. T4 put Should john smith nee x x read like JOHN SMITH NEE X X? A shape-only numeral in a maiden clause #731, already marked SUPERSEDED, under Not standing.
  5. T3 said "suppresses division" where the surname split is what is suppressed.
  6. D2 put 남궁민수's segmentation report under locales.ZH, though it fires by default.
  7. v1-xfail-triage credited H4's title-or-name report to the triage.

Round 2, seven findings, all fixed:

  1. The nameparser 2.0 implementation #288 head note blamed Should a credential run after a comma keep its comma when the last word is an ambiguous acronym? John Smith, PhD MEng reads first PhD, last John Smith #544 and Should a name word after a credential join the suffix? John Smith PhD Jones reads middle Smith PhD #602 for a difference that predates both, so it became a kind-2 correction.
  2. T3 said "written order" where the code keeps the declared order (FAMILY_FIRST reverses the name).
  3. The Dr King Jr report dates from H3's Should a title written after the name still be a title? ("John Smith Prof." → family Prof.) #316 floor.
  4. phd-merge's Dr. contrast was not Ph. D. Van Johnson has no surname: a leading suffix displaces the particle like a title used to #371's decision.
  5. A Markdown continuation needed a blank line.
  6. S2's wording missed title runs.
  7. S8's pointer named a pointer, not an entry.

Round 3, three findings, all fixed:

  1. The addressing clause pointed at P2's Keep citation comments short: quote, clause, pointer #760 instead of H1's 2026-09-08 A given-name title at the end of a title run should address by given name — "Her Majesty Queen Elizabeth" parses Elizabeth as the family name #489.
  2. The kind-2 correction left out the head.
  3. S2 restated H1's predicate without its whole-key arm.

Round 4: one label ("Scoped by #371") contradicted the correction beside it. Fixed.

Round 5: no findings.

Left as found

  • D2 and T3 keep their Declined: blocks under ## Log. The Standing block notes that those lines stand as written.
  • suffix-field-composition's entry quotes 2026-08-16 counts (11/5/24, honorifics the largest). These are a dated snapshot: suffix_words holds 170 words today, and the generational words now outnumber the honorifics. The Standing line drops the count, and the question stays open under Should suffix split into generation and credentials? (Smith, Jr., PhD) #326.
  • M2-maiden-marker-rule.md's Standing block uses Not standing: for an entry reversed by a later decision (2026-10-03 #549). The reviewer flagged this as the same pattern removed from T4 here. I left it alone: it is outside this batch, and the convention may want a ruling.

Tests

  • uv run pytest -q tests/v2/test_design_docs.py tests/v2/test_doc_citations.py tests/v2/test_rules_doc.py tests/v2/test_rules_skeleton.py tests/v2/test_rules_budget.py tests/v2/test_doc_spellings.py: 1421 passed.
  • Full suite on the first commit: 22772 passed, 125 skipped, 3 xfailed on 3.11, and the same on 3.15. The later commits touch only docs/design/ and tests/v2/rules_budget.json, and the doc tests above pass on the head.

Generated by Claude Code

…762)

A1, A2, D1, D2, N1, N2, N3, T1, T3, T4, phd-merge,
suffix-field-composition, two-input-invariants and v1-xfail-triage each
open with a ## Standing block and a ## Log heading, and leave
tests/v2/decisions_without_standing.json.

Edit-kind-1 notes on three heads whose entries a later decision reversed
in part: A1's #626 (its comma-credential wording, by #793), N2's #273
(its per-pair scan, by the same day's 05fe693 entry) and phd-merge's
#371 (its revise() rendering, by #511). v1-xfail-triage gains a dated
line for its undated #485 bullet, dated by the triage commit d02dc41
(2026-09-01) that wrote it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RaPAyHYi8MDM6GXXjtVPe9
- phd-merge: the spellings read alike only for a trailing pair; mid-name
  the merged piece starts no credential run (decisions/S7 #544,
  decisions/S8). Narrowed the Standing line, added an Elsewhere line,
  and marked the #288 head under edit kind 1. The Accepted line now
  scopes the lost surname to a given-name title (`Dr. Ph. D. Van
  Johnson` keeps family 'Van Johnson').
- rules/S2: the same scope in its Accepted bullet, which the tree
  contradicted for any title but a given-name one. Budget re-recorded
  (S2 accepted_words 203 -> 207: four words scoping an existing
  clause, no new signal).
- N3: M4's reading moves to Elsewhere, and #761 to Not standing.
- T4: drop the Not standing line for #731, which is already marked
  SUPERSEDED under edit kind 1.
- T3: "suppresses the surname split", not "division".
- D2: 남궁민수 reports segmentation by default, not under locales.ZH.
- v1-xfail-triage: H4's title-or-name report moves to Elsewhere
  (2026-09-07 #491).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RaPAyHYi8MDM6GXXjtVPe9
- phd-merge's #288 entry: a kind-2 correction. "Read alike" never held
  mid-name (`John Ph. D. Smith` suffix, `John PhD Smith` middle, the
  same at 1.4.0 and 2.0.0). The kind-1 note keeps only #544, which
  parted the `Ph. D. MEng` pair.
- phd-merge's Accepted line keeps #371's own Sir case. The `Dr.`
  contrast moves to Elsewhere (decisions/P2 #760), and the S8 pointer
  names its #602 entry.
- rules/S2 and phd-merge: the lost surname belongs to a title run
  ending in a given-name title (`Sir Dr. Ph. D. Van Johnson` keeps the
  family). S2 accepted_words re-recorded, 207 -> 212.
- T3: the declared order, not the written one; FAMILY_FIRST reverses
  the interpunct name.
- v1-xfail-triage: `Dr King Jr` reports since H3's #316 floor.
- N3: a blank line before Not standing.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RaPAyHYi8MDM6GXXjtVPe9
- phd-merge's #288 correction: the spellings never read alike at the
  head either (1.4.0 title 'Ph.', 2.0.0 suffix 'Ph. D.', against given
  'Ph.D.'). #371 changed the head reading; it did not end an agreement.
- phd-merge's Elsewhere: the addressing clause points at decisions/H1's
  2026-09-08 #489 entry, not P2's #760.
- rules/S2: "a title run that addresses by the given name (H1)" rather
  than restating H1's predicate without its whole-key arm. S2
  accepted_words re-recorded, 212 -> 214.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RaPAyHYi8MDM6GXXjtVPe9
…er than calling it a scoping (#762)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RaPAyHYi8MDM6GXXjtVPe9
@derek73 derek73 added docs Documentation fixes and updates tests design labels Oct 22, 2026 — with Claude
@derek73 derek73 self-assigned this Oct 22, 2026
@codecov

codecov Bot commented Oct 22, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 99.05%. Comparing base (9be7261) to head (e7e7fc2).
⚠️ Report is 1 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff           @@
##           master     #831   +/-   ##
=======================================
  Coverage   99.05%   99.05%           
=======================================
  Files          47       47           
  Lines        4659     4659           
=======================================
  Hits         4615     4615           
  Misses         44       44           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

# Conflicts:
#	tests/v2/decisions_without_standing.json
@derek73
derek73 merged commit a565544 into master Oct 22, 2026
12 checks passed
@derek73
derek73 deleted the docs/standing-small-sections branch October 22, 2026 21:09
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

design docs Documentation fixes and updates tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants