chore,docs: track .claude/agents, delete the axis twin, add review axis 11 - #481
Merged
Merged
Conversation
The design-docs-reviewer agent implements docs/design/AGENTS.md's review axes and was untracked, so nothing diffed it and nothing reviewed it. It drifted three ways against the file it implements. Both files land here UNCHANGED so the next commit's diff shows that drift rather than burying it in an initial add. Refs #473 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Removes the four sections that restated docs/design/AGENTS.md: the nine-axis list, the durability-of-numbers rule, the corpus caution, and the what-the-tests-cover list -- the last because AGENTS.md's own version of it says to read the test files rather than trust the sentence. The diff against the previous commit is the drift: axis 10 absent, axis 4 carrying only its inward half, and the corpus caution holding a wording AGENTS.md records as corrected. Two references the deletion would have left dangling are repointed: "How to run" named axes by number (now by content, so renumbering cannot falsify it) and "Do not report" cited "the first section". Refs #473 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Axes 1-10 compare a document to another document, to its examples, or to the implementation, so none of them can find a rule that is simply wrong -- the failure that backed out #461 and closed #466 unmerged. The worked invariant: the family-comma writing under the default order and the comma-less writing under FAMILY_FIRST must parse alike. It holds for 67 of the 70 particles and fails for do, mc and vd, which is rules.md#P6's contested-membership set recovered from behavior alone. Also corrects the axis count in three places and the claim that #386 earned every axis, which axes 10 and 11 falsify. Closes #473 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #481 +/- ##
=======================================
Coverage 98.66% 98.66%
=======================================
Files 45 45
Lines 3218 3218
=======================================
Hits 3175 3175
Misses 43 43 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Ten findings from two review agents, all in dc17090. The three that matter share one cause: the new entry re-derived arguments decisions.md#P6 already makes, instead of citing them -- which is the duplication this very PR exists to delete. - The Declined block now cites decisions.md#P6 for where "216 of 216" came from (a sorted(particles)[:14] slice, already recorded there as axis 2 in its purest form) rather than inventing "six hand-picked particles", which contradicted it and halved the sampling error. - It also stopped attributing #466's failure to do/mc/vd. #473's "ambiguous-particle half" is the 37 non-never-given particles, and decisions.md#P6 records that #466 died on a never-given test that excluded all 37, van among them. Different partition, different failure. - The recompute recipe said "any spread of families and givens". With F or G drawn from PARTICLES it is 0 of 70, not 67 of 70 ("Doe, Van de" vs "Doe Van de"), so a reviewer probing particle behavior would have reported P6 broken. Now bounded and measured. Also: AGENTS.md's corpus caution loses its standing count -- both the drifted and the "corrected" wording quoted figures decisions.md#P6 had already superseded; axis 11 is no longer classed rules.md-specific, which contradicted its own "consults no rule statement" and would have had a reviewer skip it on a decisions.md-only change like this one; axes 10/11 are no longer said to come from "later arcs" (#291 predates #386); the root pointer drops its numeral; docs-review.md stops naming a section commit 9f1d46e deleted; and the agent's description names AGENTS.md, which the axes bind and it omitted. Refs #473 Co-Authored-By: Claude Opus 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.
Closes #473.
.claude/agents/design-docs-reviewer.mdimplementsdocs/design/AGENTS.md's review axes and was untracked, so nothing diffed it and nothing reviewed it. #473 reports one missing axis; measured, the drift is three-way and one-directional — every correction landed in the tracked file and none reached the untracked copy:Four commits
35542d0— un-ignore.claude/agents/and.claude/commands/, adding both files byte-unchanged..claude/with a trailing slash makes git stop descending, so the negation needs.claude/*first; verified thatworktrees/,settings.local.json,launch.jsonand.DS_Storestay ignored.9f1d46e— the agent drops all four duplicated sections (−104 lines) and points at AGENTS.md. Because commit 1 added the file unchanged, this diff is the evidence: it removes## The nine axes, the narrowed axis 4, and the pre-correction corpus count.dc17090— axis 11, plus the axis-count claims it invalidates.6b6e297— fixes ten findings from two review agents, all of them in commit 3. See below.No pin test
#473 asks for a test pinning the agent's axis headings against AGENTS.md's list. Not added, and
decisions.md#review-agent-single-sourcerecords why: heading comparison would have caught the missing axis 10 and neither of the other two drifts, since both changed body prose and left headings intact. The twin is the defect; a pin test detects a third of it and licenses keeping the rest. Same shape as theSTABLE_TAGStwin flagged innameparser/_types.py.Axis 11 — state the invariant that relates two DIFFERENT inputs
Every existing axis compares a document to another document, to its own examples, or to the implementation, so all ten can only find code that disagrees with a rule — none can find a rule that is simply wrong. That is what backed out #461's fix and closed #466 unmerged.
The worked invariant: the family-comma writing under the default order and the comma-less writing under
FAMILY_FIRSTmust parse alike.Measured over the seven role fields,
PARTICLES× 6 families × 6 givens: it holds on all 36 pairs for 67 of the 70 particles and fails on all 36 fordo,mcandvd— precisely the words that are also suffix vocabulary, whichrules.md#P6's Accepted consequence already names as the contested memberships. The invariant found that set from behavior, having read no rule.The measurement is bounded: families and givens must not themselves be particle vocabulary. With
F="Van"it is 0 of 70, not 67 of 70 — the spread word joins the particle run and the invariant measures a different shape.decisions.md#two-input-invariantscarries this and the recompute recipe. The axis prose itself carries no bare count, per the counting-claims rule.What review changed (commit
6b6e297)Two agents reviewed commit 3 — the project's own
design-docs-reviewerand a general convention reviewer. Ten findings accepted, one rejected. The three that mattered shared one cause: the new entry re-derived argumentsdecisions.md#P6already makes, instead of citing them — the duplication this PR exists to delete.Declined:block claimed "216 of 216" came from "six hand-picked particles".decisions.md#P6already records the real provenance — asorted(particles)[:14]slice — already calls it axis 2 in its purest form, and already closes "Recompute over the WHOLE vocabulary, never a sample." The block now cites that entry instead of contradicting it.do/mc/vd.design-docs-reviewerimplements nine of AGENTS.md’s ten axes, and the missing one would have caught #467’s false premise #473's "ambiguous-particle half" is the 37 non-never-given particles;decisions.md#P6records that fix(post_rules): a trailing particle attaches to the family under a declared family-first order (#365) #466 died on a never-given test excluding all 37,vanamong them. Different partition, different failure.AGENTS.md's corpus caution loses its standing count: both the drifted and the "corrected" wording quoted figuresdecisions.md#P6had already superseded (measured today: 305 of 1104 names carry a comma, 13 end in a particle).decisions.md-only change like this one.docs-review.mdstops naming a section commit 2 deleted; the agent'sdescriptionnow namesAGENTS.md, which the axes bind and it omitted.Rejected: rephrasing "#461 was backed out" to "the fix for #461" — accurate, but
decisions.md:746and:754already use that shorthand, and fixing one of three sites makes it inconsistent.Test plan
uv run --frozen pytest -q— 6198 passed, 156 skipped, 9 xfailedgit check-ignoreover eight.claude/paths — 2 trackable, 6 ignoreddocs/design/AGENTS.mdheading, its numbered list, and the 3+8 splitgit diff master...HEAD --stat— six files, nodocs/superpowers/pathThe executable form of the invariant stays with #469.
🤖 Generated with Claude Code