Skip to content

docs(decisions): Standing blocks for six named-topic files (#762) - #832

Merged
derek73 merged 10 commits into
masterfrom
docs/standing-topics
Oct 22, 2026
Merged

derek73 merged 10 commits into
masterfrom
docs/standing-topics

Conversation

@derek73

@derek73 derek73 commented Oct 22, 2026

Copy link
Copy Markdown
Owner

Part of #762. This is one of three parallel batches in #762's final round. Six files in docs/design/decisions/ get a ## Standing block and a ## Log heading, and their keys come off tests/v2/decisions_without_standing.json:

  • differential-ledger
  • parse-cost
  • comma-suffix-arc
  • deviates-registry
  • review-agent-single-source
  • 3-0-reevaluations

No parser code or rules/ file changes.

What each block says

differential-ledger

  • Three lines on the Replace the differential ledgers with a committed snapshot of corpus readings #664 retirement: the snapshot, compare.py staying unclassified, and the CLDR agreement ratchet. They are told apart by the twin key words, because all three entries share the head 2026-10-13 #664.
  • Three lines for the tooling arc's surviving Declined entries:
    • Policy annotations stay narrow;
    • check_source checks against <repo>/nameparser;
    • DEFAULT_BASELINE rotates in the release checklist.
  • The superseded arcs were already marked as superseded, so there is no Not-standing line.
  • The two ## arc headings are demoted to ### under ## Log.

parse-cost

  • The ±2% call band per interpreter, and the 5s wall-clock backstop.
  • Moving a row requires a decision entry.
  • The current rows, matching _CALL_BASELINE: 307/344 on 3.11 and 288/325 on 3.12–3.15. call_count.py reads 307/344 on 3.11 today.
  • The link pin: 2,478 and 2,459.
  • The parked post_rules scan collapse.
  • copy_with and its guard.
  • Group's direct predicate calls.

comma-suffix-arc

  • The multi-word entries were removed rather than split.
  • A multi-word credential is matched through the run predicate, so SUFFIX_PHRASES and A6 are declined.
  • Multi-word merges happen at the render tag.
  • An unlisted abbreviation at the end of a name gets no structural fallback.
  • Elsewhere lines point to C8 for the audit table as it shipped, H5 for the trailing slot, and S9 for the dotted shape.

deviates-registry, review-agent-single-source

  • One line each. The second file has a second line for its Declined heading test.

3-0-reevaluations

How undated bullets got pointers

The pointer grammar only reads bullets that open with a date. So I added dated Log lines that name the bullets. These lines add no decisions, and existing entries are only touched by the edit kinds listed under Edits to existing entries below.

  • comma-suffix-arc
    • A bundle line dated by the title (2026-07-26).
    • A line for the "Amended 2026-08-23" paragraph.
  • 3-0-reevaluations
    • A bundle line dated 2026-08-15. That is the preamble's promotion date, and git log -S --reverse over docs/design/ confirms it for every undated bullet it covers.
    • One line for each bullet the bundle date doesn't fit. Bullets whose text gives a date: 2026-07-06, 08-17, 08-18, 08-29, 09-13 ×2, 09-20, 09-23 and 10-02.
    • One more for the legacy-pickle bullet, whose text gives no date. It was added by c2381f6 on 2026-08-16, a day after the promotion.
    • All these lines sit at the top of the Log, so the bullets keep their order and their "above" references.
  • README.md: the ## Standing bullet now describes this form. That covers:
    • a bundle in a file with no dated title;
    • a bullet dated in its own text;
    • a bullet whose text gives no date, dated by the earliest git log -S --reverse hit over docs/design/. The file's own history starts at the 2026-10-17 split, and a phrase that hits first at the 2026-08-16 unwrap crossed a wrapped line.

Edits to existing entries

Edit kind 1 (superseded notes):

Edit kind 2 (in-place corrections, each noted):

Review

I ran the design-docs-reviewer agent (opus) over the branch, then again over each fix commit until a round was clean: nine rounds.

Round 1 (branch):

Round 2:

Rounds 3–8: wording of the README sentence. The two clauses were folded into one, and the dated line now takes the decision's own date. A date the text gives for something else (when a code change landed) doesn't count. The git recipe now reads across the 2026-10-17 split and the 2026-08-16 unwrap, and takes the earliest hit.

Round 9: clean.

Found but left

Tests

  • uv run pytest -q tests/v2/test_design_docs.py tests/v2/test_doc_citations.py: 153 passed.
  • Full suite on 3.11: 22772 passed, 125 skipped, 3 xfailed.
  • Full suite on 3.15: 22772 passed, 125 skipped, 3 xfailed.

Generated by Claude Code

differential-ledger, parse-cost, comma-suffix-arc, deviates-registry,
review-agent-single-source and 3-0-reevaluations each gain a
## Standing block and a ## Log heading, and leave the exempt list.

comma-suffix-arc and 3-0-reevaluations gain dated Log lines naming the
undated bullets they index (decisions/README.md's bundle convention),
each with the date its text already gives. Heads marked under edit
kind 1 where another file reversed part of an entry: parse-cost's
#546 by its own #561; comma-suffix-arc's audit table by decisions/C8's
#428 review and its trailing-abbreviation decline by decisions/S9;
3-0-reevaluations' harness baseline by decisions/differential-ledger's
#664, its FAMILY_COMMA bullet by decisions/cjk-comma-demotion's #469,
and its 2026-08-18 bullet by decisions/P8's #383 + #479 and
decisions/P3's #397.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017EhP42ibdQAwnSukNQ5N9Y
- 3-0-reevaluations: a pack can add a conjunctions_ambiguous member,
  only removal is out of reach; the #672 sentence moves to Not standing
  with its real PRs (#673, #693); the #541 line says what decisions/R4
  records the filter keeps and drops; the legacy-pickle bullet gets its
  own 2026-08-16 line; the dated lines move to the top of the Log so
  the bullets' "above" references point where they did, and two
  pointers that pointed nowhere are corrected in place (edit kind 2).
- parse-cost: the closure-inlining entry names #619, the PR that landed
  it (edit kind 2); each row-setting entry's head marks its rows
  superseded by the next move (edit kind 1) instead of a Not-standing
  list; the preamble's "every number below" is corrected.
- comma-suffix-arc: plan amendment 1's head marks its condition
  superseded by decisions/C8's #428.
- README: the bundle convention covers a preamble-dated bundle and a
  bullet dated in its own text.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017EhP42ibdQAwnSukNQ5N9Y
parse-cost's preamble names the interpreters its 2026-08-31 entry
actually quotes, and #546's head marks its link pin moved by #601;
3-0-reevaluations names its preamble as the bridge discipline's home
and the silent drop of 1.4.0's two TITLES typos; the README's bundle
sentence covers a bullet dated by its commit.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017EhP42ibdQAwnSukNQ5N9Y
…review)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017EhP42ibdQAwnSukNQ5N9Y
…s date (#762 review)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017EhP42ibdQAwnSukNQ5N9Y
…review)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017EhP42ibdQAwnSukNQ5N9Y
…he unwrap (#762 review)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017EhP42ibdQAwnSukNQ5N9Y
@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 (a565544) to head (febfb53).
⚠️ Report is 1 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff           @@
##           master     #832   +/-   ##
=======================================
  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 d6a4d9f into master Oct 22, 2026
10 checks passed
@derek73
derek73 deleted the docs/standing-topics branch October 22, 2026 21:15
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