Summary
A repo-sweep run of /docs-hygiene:audit-derivability sweep . (0.23.1) on melodic-software/.github could not give CLAUDE.md a verdict. That file is 41 lines, agent-facing, and only routes to README.md, the ci.yml header, and .claude/rules/pr-body-contract.md. Commit e9d8343 created it on purpose. The operator had to invent a "provisional" label and ask the user. The installed SKILL.md and context/rubric.md match origin/main, so all four findings still apply.
Findings
F1 (medium): a routing-only agent doc has no verdict path.
- The Factor 1 table in rubric.md (lines 44-49) has no row for a "fact X lives at Y" claim. Such a claim neither restates code nor copies another doc.
- The fresh agent's converged spot-test drew its answers from markdown (
README.md, pr-body-contract.md). The rubric (lines 25-29) excludes prose docs as derivation sources, so "converged" did not show derivability as the rubric defines it.
- The
convert-to-pointer fix, "replace the body with a one-line pointer" (SKILL.md line 56), does nothing for a doc that is already pointers.
- A root
CLAUDE.md loads at launch, and it is exactly what tells an agent where to look. So "an agent could just look" (rubric.md 133-134) does not apply to it.
F2 (medium): the keep-sample spot-test has no defined consequence. SKILL.md line 85 requires spot-testing a sample of keep verdicts. The protocol (rubric.md 158-163) defines outcomes only for delete/pointer verdicts. Nothing covers what a converged keep-sample triggers, how big the sample is, or how it is chosen. The output schema and aggregate have no field for it. context/derivability-route-followups.md lines 125-129 require recording the sample set, but SKILL.md does not say so.
F3 (low-medium): the git-log check for deliberate state only covers empty or near-empty files (SKILL.md line 74, rubric.md line 179). A deliberately created doc whose commit records a decision is not covered. The rubric also contradicts itself: line 47 grades git history as derivable, while the line 179 example treats a decision recorded in a commit as an owned fact.
F4 (low, not yet hit): the spot-test agent can already have seen the doc. The protocol says "e.g. an Explore agent". Per the sub-agents docs, only Explore and Plan skip CLAUDE.md, and every other subagent type loads CLAUDE.md and project rules. A spot-test of those files on any other agent type is graded by an agent that has already read them.
Fix
Keep every change in the rubric body and the evals, not the frontmatter description. #4142 records the listing budget at 7986/8000 characters.
- F1: add a Factor 1 row plus a worked example for routing claims. The outcome is
convert-to-pointer (already satisfied), not actionable, and counted in the aggregate. Add one sentence to spot-test step 2: for a router, do not hand the fresh agent the trigger as a question.
- F2: add a protocol paragraph: a diverged keep-sample confirms the keep; a converged one sends the doc back through the four factors, and any actionable result ships as provisional. Add "sampled/overturned" counts to the aggregate, and move the recording rule into SKILL.md.
- F3: make the git-log check a precondition for every delete/convert-to-pointer verdict. When a commit records a decision about the doc, the verdict ships provisional with "reverses a recorded decision". Update the line 179 example.
- F4: require Explore or Plan when the audited file is loaded at launch.
- Add evals: a pure-routing
CLAUDE.md, a converged keep-sample, and a deliberately created doc.
Verification
skill-quality:check: PASS, 1 WARN. The WARN is check 21 at rubric.md:147, the spot-test protocol that itself prescribes fresh-context delegation, so it is a false positive.
- Every doc citation was quote-checked against pages fetched 2026-09-27.
- Evals not run.
- Not checked: whether the sibling
audit-progressive-disclosure has the same routing-doc gap.
Related
Summary
A repo-sweep run of
/docs-hygiene:audit-derivability sweep .(0.23.1) onmelodic-software/.githubcould not giveCLAUDE.mda verdict. That file is 41 lines, agent-facing, and only routes toREADME.md, theci.ymlheader, and.claude/rules/pr-body-contract.md. Commit e9d8343 created it on purpose. The operator had to invent a "provisional" label and ask the user. The installedSKILL.mdandcontext/rubric.mdmatchorigin/main, so all four findings still apply.Findings
F1 (medium): a routing-only agent doc has no verdict path.
README.md,pr-body-contract.md). The rubric (lines 25-29) excludes prose docs as derivation sources, so "converged" did not show derivability as the rubric defines it.convert-to-pointerfix, "replace the body with a one-line pointer" (SKILL.md line 56), does nothing for a doc that is already pointers.CLAUDE.mdloads at launch, and it is exactly what tells an agent where to look. So "an agent could just look" (rubric.md 133-134) does not apply to it.F2 (medium): the keep-sample spot-test has no defined consequence. SKILL.md line 85 requires spot-testing a sample of keep verdicts. The protocol (rubric.md 158-163) defines outcomes only for delete/pointer verdicts. Nothing covers what a converged keep-sample triggers, how big the sample is, or how it is chosen. The output schema and aggregate have no field for it.
context/derivability-route-followups.mdlines 125-129 require recording the sample set, but SKILL.md does not say so.F3 (low-medium): the git-log check for deliberate state only covers empty or near-empty files (SKILL.md line 74, rubric.md line 179). A deliberately created doc whose commit records a decision is not covered. The rubric also contradicts itself: line 47 grades git history as derivable, while the line 179 example treats a decision recorded in a commit as an owned fact.
F4 (low, not yet hit): the spot-test agent can already have seen the doc. The protocol says "e.g. an Explore agent". Per the sub-agents docs, only Explore and Plan skip
CLAUDE.md, and every other subagent type loadsCLAUDE.mdand project rules. A spot-test of those files on any other agent type is graded by an agent that has already read them.Fix
Keep every change in the rubric body and the evals, not the frontmatter
description. #4142 records the listing budget at 7986/8000 characters.convert-to-pointer (already satisfied), not actionable, and counted in the aggregate. Add one sentence to spot-test step 2: for a router, do not hand the fresh agent the trigger as a question.CLAUDE.md, a converged keep-sample, and a deliberately created doc.Verification
skill-quality:check: PASS, 1 WARN. The WARN is check 21 at rubric.md:147, the spot-test protocol that itself prescribes fresh-context delegation, so it is a false positive.audit-progressive-disclosurehas the same routing-doc gap.Related
melodic-software/.githubsweep PR chore(skill-quality): harden static checker + record terminal retrofit scope #153