docs(docs-hygiene): unify audit-derivability fork-mechanism wording - #1311
Conversation
Closes #1082 The `audit-derivability` skill names the fork hazard at three sites in SKILL.md, and they had drifted into two voices plus one bare mention. - Hard Rules bullet: "is unrelated" -> "is the opposite", matching the spot-test bullet, `context/rubric.md`, and `evals/evals.json`, which all already used that phrasing. This was the sole outlier of four. - Gotchas self-grade bullet: names the Agent tool's `fork` subagent type as the forbidden mechanism, which `evals/evals.json` already grades on, without repeating the full `context: fork` explanation. "Opposite" is the accurate word: the Agent tool's fork "inherits the full parent conversation instead of starting fresh" (tools reference), while a skill's `context: fork` "won't have access to your conversation history" (skills doc) — same word, inverse context behavior, which is exactly the trap the disambiguation exists to prevent. Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
Claude encountered an error after 1s —— View job I'll analyze this and get back to you. |
|
Claude encountered an error after 1s —— View job I'll analyze this and get back to you. |
|
Warning Automated review did not complete — this is an infrastructure failure, not a review verdict. Treat any Claude comment on this PR (including a placeholder like "I'll analyze this and get back to you") as incomplete, not "no findings."
Re-running the job, or pushing a new commit, will retry the review. |
|
Warning Automated security review did not complete — this is an infrastructure failure, not a review verdict. Treat any Claude comment on this PR (including a placeholder like "I'll analyze this and get back to you") as incomplete, not "no findings."
Re-running the job, or pushing a new commit, will retry the review. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: bc2b43fede
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
Claude encountered an error after 1s —— View job I'll analyze this and get back to you. |
|
Claude encountered an error after 0s —— View job I'll analyze this and get back to you. |
|
🤖 Autonomous lane note (AI-generated) — read before merging. CI is green (26/26 SUCCESS, MERGEABLE), but the AI review verdict on this PR is absent, not clean.
It is not branch-owned. 4 of the 5 most recent open PRs (#1323, #1322, #1320, #1319) carry the same warning, so this is an environment/credential-level failure across the repo, not something this diff caused or can fix. Filed separately rather than papered over here. Note that the surrounding job reports What did review this PR: Codex posted one P2 finding, which was validated against the actual sources and classified VALID (defer) → #1317, with a threaded reply and the reasoning recorded there. So this PR is not unreviewed — but it has had no Claude-side review, and the merger should weigh that. |
Closes #1082
Summary
The
audit-derivabilityskill warns against confirming a deletion with a contaminated context, andnames the fork mechanism at three sites in
SKILL.md. Those three sites had drifted apart: two gavethe same fact in two different voices, and the third named none of it.
is unrelated→is the opposite. The spot-test bullet(line 56),
context/rubric.md:134, andevals/evals.json:84already used "the opposite," so thisbullet was the sole outlier of four sites — aligning it required no change to the other three.
non-fork subagentmention. It now names the Agent tool's
forksubagent type as the forbidden mechanism, whichevals/evals.json:88already grades on. It does not repeat thecontext: forkexplanation —a Gotchas summary restating the full disambiguation a third time would be duplication on an
agent-facing surface, exactly what this plugin exists to remove.
"Opposite" is also the more accurate word, verified against current official docs this session:
(tools reference)
context: fork— "It won't have access to your conversation history"(skills)
Same word, inverse context behavior. "Unrelated" understated precisely the trap the disambiguation
exists to prevent.
docs-hygienebumped 0.8.6 → 0.8.7 with the matching CHANGELOG entry.Test plan
Run from the PR worktree against
origin/main:scripts/check-changed-skills.sh origin/main— PASS, 0 errors, 0 warnings; confirms all 8base-ref trigger phrases preserved (the frontmatter
descriptionis untouched) and SKILL.md at142/500 lines.
scripts/check-skill-portability.sh origin/main— no unexcused coupling tokens.scripts/check-changelog-parity.sh --check-bump origin/main— the version bump has its## [0.8.7]entry.scripts/validate-plugins.sh— all plugin manifests and the catalog validate.markdownlint-cli2 --config .markdownlint-cli2.jsonc "plugins/docs-hygiene/**/*.md"— 36 files,0 errors.
scripts/check-silent-skips.sh,scripts/check-skill-leaf-names.sh— clean.No behavioral surface changes: prose only, plus the version/CHANGELOG pair.
Related
docs(docs-hygiene): fix inverted fork-mechanism attribution in audit-derivability rubric+evals #1058 / docs: audit-derivability rubric/evals invert the context-fork inheritance claim #1053, which is the lineage that produced the two-voice drift.
Deliberately out of scope here; this PR stays inside
plugins/docs-hygiene/skills/audit-derivability/.the Agent tool's
forksubagent type NOT inheriting the conversation at runtime, against itsdocumentation, which would make "the opposite" an overclaim at all four sites. Deferred because a
partial hedge reintroduces exactly the drift docs(docs-hygiene): audit-derivability fork-mechanism wording drift (line 56 vs 111) + Gotchas line ~119 still undisambiguated #1082 removes, one of the four sites is a graded
evals.jsoncriterion rather than prose, and sweep-all-disciplines: fork subagents silently do not inherit the conversation, and two of four claimed they did #1258 is itself unreduced andneeds-human. TheHard Rule is unaffected — "never fork for the spot-test" holds under either branch.
context/rubric.mdandevals/evals.jsonwere read as the tie-breaker for which phrasing iscanonical, and are intentionally not modified — they already carry the winning wording.
🤖 Generated with Claude Code
https://claude.ai/code/session_01NE8W4XPPVfZVCGBW2GYgyH