Skip to content

Trim the design docs: archive the differential ledger, tidy mechanisms.md, compact shipped measurements (#759) - #764

Merged
derek73 merged 7 commits into
masterfrom
claude/docs-trim-759-ba471e
Oct 19, 2026
Merged

derek73 merged 7 commits into
masterfrom
claude/docs-trim-759-ba471e

Conversation

@derek73

@derek73 derek73 commented Oct 19, 2026 •

Copy link
Copy Markdown
Owner

Closes #759. Docs only, under docs/design/. Nothing under nameparser/ changes.

docs/design goes from about 249,000 words to 202,000. The three items are one commit each. Two review-fix commits follow, then a merge of master (#763, #757).

1. differential-ledger archived (33,103 → 1,441 words)

Each of the eleven ledger arcs is cut to a tombstone, following decisions/README rule 3: date, issue, verdict and SUPERSEDED by 2026-10-13 #664. Harvested arcs keep their framing lines.

  • Kept in full: the retirement entry (Replace the differential ledgers with a committed snapshot of corpus readings #664), which is the decision still in force.
  • Kept, because they are about code and process the ledgers didn't take with them: three Declined entries — the Policy annotations / .pyi stub, _check_tree's predicate, and the DEFAULT_BASELINE checklist step.
  • Kept as one line each, because other files cite them:
    • the 'Donald mc' decline, cited by decisions/suffix-acronym-collisions and v1-xfail-triage;
    • the initials view, cited by decisions/R4 and by the 2.3.0 release-log bullet. That line now points at the bullet's evidence at fe85bb3.

The full text is at git show fe85bb3d:docs/design/decisions/differential-ledger.md. mechanisms.md#RECORDED-ROSTERS used to say this entry keeps the roster measurements; it now points to git through it.

2. mechanisms.md (14,557 → 10,902 words)

  • Labels on their own lines. Every entry's labels now open their own paragraph. This is load-bearing: test_doc_citations reads a Contract statement up to the end of its paragraph, so in the old one-paragraph layout every sentence of an entry was quotable. The preamble now says so.
  • ONE-PREDICATE-PER-QUESTION and RENDER-HONORS-THE-PARSE (1,856 and 2,771 words) are cut to their contract, a short How it works, and Lives-in rosters naming each predicate with its issue and decisions entry. Every predicate and module in the rosters was checked against the code.
  • Retired: LEDGER-RULE-SEPARATION and CROSS-RULE-OUTCOME-PINS. Both were already "Retired with the ledgers" stubs that lived in nothing, and no code or test cites either.
  • Kept on purpose: the other entries that no code cites — SPANS, STRUCTURE-GATES, LICENSED-BY-NEIGHBOR, STATE-OFFSET-CHANNELS, PIPELINE-STAGE-CONTRACTS, CLAUSE-CONTENT-OVERRULES-DELIMITER, CURATED-VOCABULARY-ALTERNATION, COMPILED-DATA-COMMITTED, CANONICAL-VOCABULARY-AT-THE-BOUNDARY, VOCABULARY-FEEDS-STRUCTURE, WARN-AT-THE-CALLER, LEGACY-STATE-SIGNATURE, MAKE-WRONG-STATES-UNREPRESENTABLE, and five verification shapes. Each describes a pattern that is live in the code, and the catalog exists for recall, not citation.
    • SENTINEL-SET-OVER-MATCH-CHECK's code went with the ledgers. It stays because its lesson is general (the empty-string probe misses .+) and the differential-ledger tombstone cites it.

3. Compaction sweep under rule 3

The sweep covered the 22 largest files after differential-ledger. Every compacted change shipped in v2.5.0 or earlier; the unshipped PRs are #737, #741–#746, #755 and #756, and spot-checks used git tag --contains. Three triggers apply, and nothing else was touched:

  • a whole entry headed SUPERSEDED by becomes a tombstone;
  • a superseded passage inside a live entry is cut to its decision and what replaced it;
  • a measurement paragraph of a shipped change is cut to one line naming population, counts, baseline and PR.

These always stay: verdicts, reasons, Accepted costs, Declined/Excluded/Open blocks, measurements of declined or unshipped changes, harvested framing lines, any recipe a release-log bullet rests on, and anything quoted or pointed at from elsewhere.

File Words What was compacted
M2 14,882 → 12,136 #412/#417/#418, #434, #533 (+review), #397 follow-up, #535 and #538 measurements; the passages #601 and #549 superseded (release checks, view checks, anchored head); the #731 entry → tombstone
R4 13,819 → 12,877 #407, #458, #459 and #461/#397 measurements; the dotted-shape default-path passage, finding (a)'s splitting half, and #541's "Also left" sentence → one sentence each
H5 5,292 → 4,192 #316/#489 population, /simplify class sizes and null result, and #623 results → one line each; #614's passage superseded by #623
cjk-full-stops 4,706 → 3,410 what moved, the axis-11 invariant, parse cost; the halfwidth-kana passage closed by #594
S6 3,887 → 2,678 WHERE THE FACT LIVES cost totals, blast radius, report inventory
S2 4,589 → 3,662 #614, #620 and #625 MEASURED, COST, review classes
S9 6,234 → 5,529 the comma harness and the #563/#564 measurements
P5 6,353 → 5,806 #369, #425 and #637/#640 measurements
S7 4,053 → 3,481 #544 MEASURED and the addendum's measurement and frames
P6 6,127 → 5,685 #379/#380, #405 and #613 measurements
R3 5,721 → 5,271 #408's gate run, #528's population, differential and recompute, #461's blast radius and frames, #585's verification
T4 2,512 → 2,043 the #731 entry → tombstone; its gap and declined option predate #731 and still stand, so they stay, with a scoping lead; the #723 grid
generational-words 1,452 → 1,032 the run-start passage superseded by #679; the #661 and #679 measurements
cjk-comma-demotion 3,465 → 3,082 #469 and 2026-09-05 COUNTS
H1 3,288 → 2,898 #410, review-round-2 and #720 measurements
suffix-acronym-collisions 4,263 → 3,904 #342 and #540 measurements
R5 4,558 → 4,299 capitalized_forced population, #492 MEASURED
S10 3,672 → 3,380 #718's re-pinned rows, the stand-down #722 removed, #721's WHAT MOVES
P3, P8, R1, phd-merge, M3 small one measurement line each (P3 #397, P8 #383/#479, R1 #511); phd-merge's half superseded by #511; M3's old pin sentence

Unchanged on purpose: P1, whose entries are evidence, a recorded trap, or a declined proposal, and vocabulary-collisions, whose superseded clause is quoted verbatim by suffix-acronym-collisions. The other ~60 decisions files are not swept in this PR.

Review

I ran the design-docs-reviewer over the diff, then over the fix commit, as AGENTS.md asks.

Checks

On the merged tip:

  • uv run pytest -q: 21,879 passed.
  • uv run mypy and uv run ruff check: clean.
  • The doc guards (test_design_docs, test_doc_citations, test_rules_doc, test_rules_budget) pass.

🤖 Generated with Claude Code

derek73 and others added 6 commits October 19, 2026 14:23
…t entry (#759)

The ledgers #664 retired took 33,103 words across eleven arcs, every
one superseded by the snapshot. Each arc is cut to a tombstone under
decisions/README's rule 3 (date, issue, verdict, SUPERSEDED by
2026-10-13 #664); the retirement entry stands in full. The three
passages other entries cite stay as one line each: the 'Donald mc'
decline (decisions/suffix-acronym-collisions, decisions/v1-xfail-triage),
the initials view (decisions/R4, the 2.3.0 release log) and the
Policy-annotation Declined entry (decisions/3-0-reevaluations). The
full text is pointed to at fe85bb3.

mechanisms.md#RECORDED-ROSTERS said the entry keeps the ledger
rosters' measurements; it now points to git through it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…istory (#759)

Every entry's template labels (Problem shape, Contract statement, How
it works, Lives in, Reach for it when) now open their own paragraph.
That is load-bearing and the preamble says so: test_doc_citations
reads a Contract statement to the end of its paragraph, so in the
one-paragraph layout every sentence of an entry was quotable.

ONE-PREDICATE-PER-QUESTION (1,856 words) and RENDER-HONORS-THE-PARSE
(2,771) are cut to their contract, a short How it works and pointers.
The two sentences code comments quote from outside the old contract
proper ("where the reader comes AFTER the decider, ..." in _group.py,
"a token the parse never saw ..." in _render.py) move into the
Contract statement paragraphs, so no comment in nameparser/ changes.
The instance census and the case history are in git at fe85bb3 and in
the decisions entries the rosters now name; the one piece no decisions
entry held, the facade's spliced-field divergence under a caller's
conjunction (#528, measured 2026-09-13 and re-run on this tree), moves
to decisions/R3 as a dated entry.

LEDGER-RULE-SEPARATION and CROSS-RULE-OUTCOME-PINS, both already
"Retired with the ledgers" stubs living in nothing, are removed; the
only references left are prose names in decisions/differential-ledger.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ecisions files (#759)

A sweep under decisions/README's rule 3 over the 22 largest files after
differential-ledger, every change checked shipped in v2.5.0 or earlier
(the unshipped PRs are #737, #741-#746, #755, #756). Three triggers
only: a whole entry headed SUPERSEDED by, cut to a tombstone; a
superseded passage inside a live entry, cut to its decision and what
replaced it; a measurement paragraph of a shipped change (what moves,
cost, blast radius, gate and grid results), cut to one line naming
population, counts, baseline and PR. Verdicts, reasons, Accepted costs,
Declined/Excluded/Open blocks, measurements of declined or unshipped
changes, harvested framing lines, and anything quoted or pointed at
from elsewhere stay. RECOMPUTE recipes a release-log bullet rests on
stay; others fold into the one line with their PR.

The two #731 entries (decisions/M2, decisions/T4), reverted by PR #733
the same day, gain the SUPERSEDED by marker rule 1 asks for and become
tombstones.

About 13,400 words come out across the 22 files (M2 14,882 -> 12,190,
R4 13,819 -> 12,877, the rest listed in the PR).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- decisions/T4: the #731 tombstone had cut a gap and a declined option
  that predate #731 (ad486f6) and still stand; both are restored
  verbatim under the tombstone, re-measured on this tree.
- decisions/differential-ledger: the tombstones keep the tooling and
  dormancy arcs' harvested framing lines (rule 3: "a tombstone
  included"); the `_check_tree` and DEFAULT_BASELINE Declined entries,
  about code and process that survive the ledgers, stand as written;
  the initials-view tombstone says the 2.3.0 release bullet's evidence
  is at fe85bb3.
- decisions/H5: the population line no longer calls `毛 泽东 Dr.` a
  rules example; the #623 line keeps the corpus-and-case-text null
  result and the 500-parse characterization; three bold heads keep
  their closing period.
- decisions/S2: the #614 line no longer classifies the stress grid's
  8,472 movers, which were not classified; it gives the 12-parse slice
  that was.
- decisions/S6: the frame totals decisions/S9 says "hold exactly" are
  back; the verification-round head keeps "AND ITS RECIPE".
- decisions/R3: the facade spliced-field divergence moved from
  mechanisms.md is a continuation of the 2026-09-13 #528 entry rather
  than a second entry of that date, so the existing pointers to "the
  2026-09-13 #528 bullet" resolve to one entry.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… 3 (#759)

- decisions/differential-ledger: the initials-view tombstone gave the
  cluster sizes as 19 / 66 / 11 / 2, which is cluster (iii) split by
  vocabulary; the three clusters are 27 / 14 / 98.
- decisions/T4: the restored gap paragraph was written under #731 and
  names "the committed grid", which the revert deleted; the lead now
  says so, points at PR #732, and scopes the re-measurement (the 108
  and the readings hold on a rebuild; the 270 was not re-run).
- decisions/H5: the #623 frames line said frames move "only" where a
  part holds a particle; the names without one moved too, and pay less.
- decisions/README rule 3 gains the two traps the reviews found, so
  the next compaction meets them: a tombstone keeps what the entry
  recorded about the state before its change, and a one-line
  replacement keeps each count's own classification.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@derek73 derek73 added docs Documentation fixes and updates design labels Oct 19, 2026
@derek73 derek73 self-assigned this Oct 19, 2026
@codecov

codecov Bot commented Oct 19, 2026 •

Copy link
Copy Markdown

Codecov Report

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

Additional details and impacted files
@@           Coverage Diff           @@
##           master     #764   +/-   ##
=======================================
  Coverage   99.05%   99.05%           
=======================================
  Files          47       47           
  Lines        4642     4642           
=======================================
  Hits         4598     4598           
  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.

…'s definition (#759)

Third review round, on a4fed35:
- decisions/T4: the lead scoped only the 270 as un-re-run; the
  paragraph's "closes both (0 field and 0 report differences)" is the
  same #731-era measurement. An approximation of the option re-run
  2026-10-19 closes the fields but leaves 27 of 396 rebuilt pairs
  differing in their reports, so the lead now says the claim is
  #731's, unconfirmed since.
- decisions/README rule 3: the new trap sentence changed what a
  tombstone keeps without amending the definition two sentences
  earlier, which still read as a complete list. The definition now
  says it, and the trap sentence keeps only the one-line-replacement
  half.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@derek73
derek73 merged commit fc2150a into master Oct 19, 2026
12 checks passed
@derek73
derek73 deleted the claude/docs-trim-759-ba471e branch October 19, 2026 22:20
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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Trim the design docs: archive the differential ledger, tidy mechanisms.md, compact shipped measurements

1 participant