fix(playbooks): narrow fable-5's fresh-context-verifier trigger to exclude mechanical work - #1368
Conversation
…clude mechanical work Runs the context-engineering rightsizing effort's criteria catalog over fable-5, the subtree D-6 excluded from the original pass because PR #1261 was rewriting it concurrently. #1261 merged first; this closes the follow-up (#1324). The catalog's S3 digest names fable-5 among the files whose fresh-context-verifier dispatch is the D-5 target: drop blanket dispatch on mechanical, behavior-preserving work, keep it where the verdict is subjective or the blast radius is wide. Previously the trigger fired unconditionally after any multi-file batch or before any multi-part completion claim, at three co-resident sites (SKILL.md's core doctrine, verification.md, orchestration.md). All three are narrowed together to avoid reintroducing the exact cross-surface split-brain the catalog's S2 digest flags as a defect class. No other digest (S2, S4, S5, S8, S11, S13) names a concrete fable-5 finding; S13 explicitly rules out a blanket de-constraining sweep on high-absolute-density skills absent an operator-run audit-instructions pass, and fable-5 is cited twice as a positive progressive-disclosure exemplar. Per its own field-guide-audit remediation record (PR #1261), the skill already cleared a stricter admission bar than this catalog applies, so no further edit was manufactured to justify the PR. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
Claude finished @kyle-sexton's task in 1m 46s —— View job PR Review
Summary: Documentation-only change narrowing a trigger condition across three co-resident sites in the fable-5 skill. The change is correct, internally consistent, and well-reasoned. No blocking findings. REVIEW.md "Always check" itemsNot applicable — this PR touches only doctrine/documentation files with no code paths, endpoints, data access, secrets, queries, or multi-record state writes. All blocking checklist items are vacuously clear. FindingsConsistency across the three sites — no issues The trigger carve-out is correctly distributed:
All three sites require the same conjunction for exemption: behavior-preserving and narrow blast radius. Logically consistent. Reference to planning.md — valid
Version bump and CHANGELOG — correct
Nit🟡 Nit — Overall: Clean, focused, and correctly applied. The three-site update avoids the split-brain defect class it names (CRIT-S2-1), the reasoning in the owning site is clear, and the declined work is well-justified in the PR body. Ready to merge. |
|
Claude finished @kyle-sexton's task in 1m 9s —— View job Security ReviewTasks
FindingsNo security issues found. All five changed files are documentation/markdown skill-doctrine and a plugin manifest version bump. Here is what was checked against the scope of this review: Injection surfaces (command, SQL, path, template) Secrets, tokens, credentials Plugin manifest permission widening Authorization / gate-weakening logic
GitHub Actions patterns Supply-chain / dependency risk |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c15728f9f7
ℹ️ 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".
The owning section's own floor sentence and opus-adaptation's delegation correction still stated the fresh-context-verifier trigger unconditionally, contradicting the narrowed trigger in the same chapter.
|
Claude encountered an error after 2s —— View job I'll analyze this and get back to you. |
|
Claude encountered an error after 2s —— View job I'll analyze this and get back to you. |
|
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. |
|
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. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6c8473de64
ℹ️ 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".
The single "unless the batch is behavior-preserving" clause let a task-completion claim inherit the exemption from a final mechanical batch. Each trigger now weighs every batch it covers.
|
Claude encountered an error after 2s —— View job I'll analyze this and get back to you. |
|
Claude encountered an error after 2s —— View job I'll analyze this and get back to you. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: aa148967d7
ℹ️ 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".
Behavior-preserving plus narrow blast radius does not imply judgment-free: a hand-designed two-file refactor satisfies both while still embedding the producer assumptions the verifier exists to challenge.
|
Claude encountered an error after 2s —— View job I'll analyze this and get back to you. |
|
Claude encountered an error after 2s —— View job I'll analyze this and get back to you. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: be5dcf10e4
ℹ️ 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".
…gers "Keeps the trigger regardless of file count" read as a new single-file trigger, splitting behavior from the always-loaded SKILL.md summary.
|
Claude encountered an error after 2s —— View job I'll analyze this and get back to you. |
|
Claude encountered an error after 2s —— View job I'll analyze this and get back to you. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 8e4cdc63d7
ℹ️ 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".
opus-adaptation now defers to the owning section instead of restating a partial exception; the two operative restatements carry the subjective-verdict defeater alongside the other three conditions.
|
Claude encountered an error after 2s —— View job I'll analyze this and get back to you. |
|
Claude encountered an error after 2s —— View job I'll analyze this and get back to you. |
Closes #1324
Summary
Runs the context-engineering rightsizing effort's criteria catalog over
plugins/playbooks/skills/fable-5/**— the one subtree decision D-6 excluded from the originalpass because PR #1261 was actively rewriting it. #1261 merged (2026-07-25T00:38:24Z) before this
follow-up started; the catalog was applied against the post-#1261 tree.
Criteria source.
docs/topics/context-engineering-rightsizing/design/decisions.mdand its 13section digests (S1–S13), all still on the unmerged
feat/context-engineering-rightsizingbranch(PR #1323, open) — read directly from that ref per the item's own instruction, since the item names
them as source of truth regardless of merge state.
The one concrete, evidenced finding. S3's digest lists
playbooks/fable-5among the filescarrying the blanket verifier-subagent dispatch that locked decision D-5 targets: "drop blanket
dispatch on mechanical behavior-preserving work; keep it where the verdict is subjective or blast
radius is wide." fable-5 required a fresh-context verifier after any multi-file edit batch or
before any multi-part completion claim, with no carve-out for a mechanical, behavior-preserving
change (e.g. an exact, low-judgment rename). This PR adds that carve-out.
The trigger turned out to live at three co-resident sites, not one —
SKILL.md's always-armedcore-doctrine distillation,
context/verification.md's floor statement, andcontext/orchestration.md's owning section. Narrowing only the owning section would have leftSKILL.mdstating the unnarrowed rule, reproducing the exact cross-surface split-brain thecatalog's own S2 digest (CRIT-S2-1) flags as a defect class — caught in an advisor pass before
this landed, and fixed by narrowing all three together.
orchestration.mdkeeps the full reasoning(it owns the gate); the other two sites carry the shortest carve-out and point back to it. The
carve-out reuses
context/planning.md's existing behavior-preserving/behavior-changing distinctionper meta-rule 2 (one home per doctrine) rather than inventing a second one.
Declined: a blanket I1–I11 sweep. No other digest (S2, S4, S5, S8, S11, S13) names a concrete
fable-5finding. S13 explicitly rules out a blanket de-constraining sweep on high-absolute-densityskills — fable-5 is a density leader (26.6 absolutes/100 lines, S3's own measurement) — absent an
operator-run, report-only
claude-config:audit-instructionspass; S5 and S11 both cite fable-5as a positive progressive-disclosure exemplar (10.6x support:body ratio) rather than a target.
docs/topics/fable-field-guide-audit/(PR #1261's own remediation record) shows the skill alreadycleared a Fable-5-specific admission bar (
SKILL.md:11, "every line encodes something a strongmodel does NOT reliably do untold") stricter than this catalog's own I1–I11. A clean result on
every other check is a valid outcome the catalog's
criteria.mdstates explicitly, so no furtheredit was manufactured here.
Lane note. Session-start bulk reclaim of unrelated stale-assigned items (Step 0 of the
workskill) was blocked by the auto-mode classifier as out-of-scope for a session dispatched against
one named item — correctly, since that hygiene is fleet-wide and orthogonal to #1324. Skipped
without effect on this item, which was independently confirmed unassigned before claiming.
Test plan
scripts/check-changed-skills.sh origin/main—fable-5: PASS — 0 errors, 1 warning(the onewarning, no Gotchas surface, pre-exists this change)
scripts/check-skill-portability.sh origin/main— no unexcused coupling tokens in the 3changed skill files
scripts/check-changelog-parity.sh --check-bump origin/main— playbooks' version bump has amatching
## [0.5.1]entrymarkdownlint-cli2on all 4 changed files — 0 issuestyposon the changed skill directory and CHANGELOG — 0 issuesclaude plugin validate plugins/playbooks— passednode scripts/validate-plugin-contracts.mjs— 43 setup skills / 2055 plugin files checked,clean
node scripts/generate-catalog.mjs --check— catalog in syncSKILL.md+ 13context/*.md) and cross-checked against digestsS1–S13 +
decisions.md; no other digest names a concrete finding against this subtreeplugins/playbooks/**(re-derived viagh pr listper the item's own instruction, not trusted from
collision-register.md)Related
docs/topics/fable-field-guide-audit/)docs/topics/context-engineering-rightsizing/design/decisions.md(onfeat/context-engineering-rightsizing, not yet onmain)This was generated by AI during work-loop execution.