You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
tests/test-evidence-exception-bound.sh (shipped in PR #615, issue #608) guards the evidence-exception bound in one file: CLAUDE_CODE_SDLC_WIZARD.md.
The predecessor it replaced scanned a document set — for f in FILES: — and #606's history is a count of restatements across documents. @webbrain-one's original snippet said the rule must be stated once and that "every other document must either use this line verbatim or reference it."
So the guard is narrower than the problem it inherited. Concretely, skills/sdlc/SKILL.md restates the rule and carries no [bound: CANONICAL:evidence-exception-bound] token. That file ships (package.jsonfiles, confirmed in npm pack --dry-run), so a consumer can read an unbound restatement of a rule whose whole point is that it is bounded.
This was deliberately left out of #615. #608's stated merge bar names the shipped wizard doc singular, and extending the scan to the doc set would have failed the guard across several files at once and cascaded edits through a PR that already carried five review findings. Widening scope mid-card is the failure the scope rule exists to stop.
What this issue is
Extend the guard's file list to the shipped document set, and mark the restatements it finds.
Acceptance criteria
Enumerate every shipped file that restates the bound. Start from npm pack --dry-run output, not from the files field — npm auto-includes paths the field does not name.
Decide per file whether the restatement should carry the token or be deleted in favour of a reference. A document that does not need to restate the rule should not restate it — that is the lesson of the diagram caption in fix: Guard the evidence-exception bound by construction, not by regex over prose #615, where the fix was to stop paraphrasing rather than to annotate the paraphrase.
cowork/skills/sdlc/SKILL.md must stay byte-identical to skills/sdlc/SKILL.md; tests/test-cowork-drift.sh enforces this.
Add a mutation per newly-scanned file proving the guard fails when that file's restatement is unbound. The existing harness reports the rejection reason per mutation, so a wrong-reason catch is visible — keep that property.
Backlog. Not a v2.0.0 blocker: the bound is correctly stated and guarded in the doc that #608 named, and the residual is a doc-set consistency gap rather than a wrong rule.
tests/test-evidence-exception-bound.sh(shipped in PR #615, issue #608) guards the evidence-exception bound in one file:CLAUDE_CODE_SDLC_WIZARD.md.The predecessor it replaced scanned a document set —
for f in FILES:— and #606's history is a count of restatements across documents. @webbrain-one's original snippet said the rule must be stated once and that "every other document must either use this line verbatim or reference it."So the guard is narrower than the problem it inherited. Concretely,
skills/sdlc/SKILL.mdrestates the rule and carries no[bound: CANONICAL:evidence-exception-bound]token. That file ships (package.jsonfiles, confirmed innpm pack --dry-run), so a consumer can read an unbound restatement of a rule whose whole point is that it is bounded.This was deliberately left out of #615. #608's stated merge bar names the shipped wizard doc singular, and extending the scan to the doc set would have failed the guard across several files at once and cascaded edits through a PR that already carried five review findings. Widening scope mid-card is the failure the scope rule exists to stop.
What this issue is
Extend the guard's file list to the shipped document set, and mark the restatements it finds.
Acceptance criteria
npm pack --dry-runoutput, not from thefilesfield — npm auto-includes paths the field does not name.cowork/skills/sdlc/SKILL.mdmust stay byte-identical toskills/sdlc/SKILL.md;tests/test-cowork-drift.shenforces this.skills/sdlc/SKILL.md's size (~42kB, and skill listings are budget-clamped — see Audit: is the SDLC harness a workflow written as a skill? (sequencing and state vs atomic capability) #665). Prefer replacing a restatement with a reference over adding annotation on top of it.Sequencing
Backlog. Not a v2.0.0 blocker: the bound is correctly stated and guarded in the doc that #608 named, and the residual is a doc-set consistency gap rather than a wrong rule.