Skip to content

fix(playbooks): narrow fable-5's fresh-context-verifier trigger to exclude mechanical work - #1368

Merged
kyle-sexton merged 6 commits into
mainfrom
feat/1324-fable-5-criteria-catalog
Jul 26, 2026
Merged

fix(playbooks): narrow fable-5's fresh-context-verifier trigger to exclude mechanical work#1368
kyle-sexton merged 6 commits into
mainfrom
feat/1324-fable-5-criteria-catalog

Conversation

@kyle-sexton

Copy link
Copy Markdown
Contributor

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 original
pass 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.md and its 13
section digests (S1–S13), all still on the unmerged feat/context-engineering-rightsizing branch
(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-5 among the files
carrying 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-armed
core-doctrine distillation, context/verification.md's floor statement, and
context/orchestration.md's owning section. Narrowing only the owning section would have left
SKILL.md stating the unnarrowed rule, reproducing the exact cross-surface split-brain the
catalog'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.md keeps 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 distinction
per 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-5 finding. S13 explicitly rules out a blanket de-constraining sweep on high-absolute-density
skills — fable-5 is a density leader (26.6 absolutes/100 lines, S3's own measurement) — absent an
operator-run, report-only claude-config:audit-instructions pass; S5 and S11 both cite fable-5
as 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 already
cleared a Fable-5-specific admission bar (SKILL.md:11, "every line encodes something a strong
model 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.md states explicitly, so no further
edit was manufactured here.

Lane note. Session-start bulk reclaim of unrelated stale-assigned items (Step 0 of the work
skill) 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/mainfable-5: PASS — 0 errors, 1 warning (the one
    warning, no Gotchas surface, pre-exists this change)
  • scripts/check-skill-portability.sh origin/main — no unexcused coupling tokens in the 3
    changed skill files
  • scripts/check-changelog-parity.sh --check-bump origin/main — playbooks' version bump has a
    matching ## [0.5.1] entry
  • markdownlint-cli2 on all 4 changed files — 0 issues
  • typos on the changed skill directory and CHANGELOG — 0 issues
  • claude plugin validate plugins/playbooks — passed
  • node scripts/validate-plugin-contracts.mjs — 43 setup skills / 2055 plugin files checked,
    clean
  • node scripts/generate-catalog.mjs --check — catalog in sync
  • Read all 14 fable-5 files (SKILL.md + 13 context/*.md) and cross-checked against digests
    S1–S13 + decisions.md; no other digest names a concrete finding against this subtree
  • Confirmed no open PR currently touches plugins/playbooks/** (re-derived via gh pr list
    per the item's own instruction, not trusted from collision-register.md)

Related


This was generated by AI during work-loop execution.

…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

claude Bot commented Jul 25, 2026

Copy link
Copy Markdown
Contributor

Claude finished @kyle-sexton's task in 1m 46s —— View job


PR Review

  • Gather context and understand the request
  • Review changed files
  • Assess correctness, consistency, and alignment with guidelines
  • Post findings

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" items

Not 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.


Findings

Consistency across the three sites — no issues

The trigger carve-out is correctly distributed:

  • orchestration.md:67 — owning site, full reasoning with both conditions stated and the override (A subjective verdict, or a wide blast radius, keeps the trigger regardless).
  • verification.md:62 — short form, points back to owner for exception detail. ✓
  • SKILL.md:93 — short form, parenthetical navigation hint. ✓

All three sites require the same conjunction for exemption: behavior-preserving and narrow blast radius. Logically consistent.

Reference to planning.md — valid

orchestration.md cites "(the planning chapter's distinction)"; planning.md line 30 defines the behavior-preserving/behavior-changing split explicitly: "Never fuse behavior-preserving and behavior-changing work in one step." The reference resolves correctly and reuse is appropriate per meta-rule 2 (one home per doctrine).

Version bump and CHANGELOG — correct

0.5.0 → 0.5.1 is semver-correct for a non-breaking narrowing. The CHANGELOG entry is thorough, references the relevant issues (#1324, #1261, #1323), names all three changed sites, and accurately summarizes what was and was not changed.


Nit

🟡 NitSKILL.md:93 uses the abbreviated form (orchestration, "Fresh-context verification") while verification.md:62 uses the more explicit the orchestration chapter, section "Fresh-context verification". Neither is wrong — the SKILL.md form follows the parenthetical hint convention used elsewhere in the core-doctrine distillation — but the inconsistency is mildly noticeable. Worth a one-word fix (the orchestration chapter) on the next pass through this area if it bothers anyone, but not worth a blocking round-trip.


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

claude Bot commented Jul 25, 2026

Copy link
Copy Markdown
Contributor

Claude finished @kyle-sexton's task in 1m 9s —— View job


Security Review

Tasks

  • Gather context
  • Read changed files
  • Analyze for security vulnerabilities
  • Post findings

Findings

No 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)
None. The three skill files (SKILL.md, orchestration.md, verification.md) contain prose only — no executable templates, no shell-expanding syntax, no evaluated expressions. The CHANGELOG is static documentation. Nothing in these files is executed by the harness at load time.

Secrets, tokens, credentials
None present or introduced.

Plugin manifest permission widening
plugin.json carries only a version bump (0.5.00.5.1). No permissions, mcpServers, hooks, trustedSources, or remote endpoints were added or modified. Manifest surface is unchanged.

Authorization / gate-weakening logic
The central change is narrowing a mandatory fresh-context verifier from always-on for multi-file batches to always-on except for behavior-preserving batches with a narrow blast radius. I checked the exception logic for a bypass-enabling flaw:

  • orchestration.md L67 — exception requires both conditions (AND): behavior-preserving and narrow blast radius. A single wide-blast-radius change that happens to be mechanical still triggers the gate. No logical gap.
  • "Subjective verdict OR wide blast radius keeps the trigger regardless of file count or preservation" — the retention clause uses OR, which is the conservative formulation. No bypass path via misclassification of blast radius alone.
  • This is AI model operating doctrine, not a software access-control mechanism — the weakened rule governs when the model self-spawns a review subagent, which has no privilege or credential scope.

GitHub Actions patterns
No workflow files changed. Not applicable.

Supply-chain / dependency risk
No action pins, package dependencies, or remote MCP server entries were added or modified.


@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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".

Comment thread plugins/playbooks/skills/fable-5/context/orchestration.md Outdated
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

claude Bot commented Jul 26, 2026

Copy link
Copy Markdown
Contributor

Claude encountered an error after 2s —— View job


I'll analyze this and get back to you.

@claude

claude Bot commented Jul 26, 2026

Copy link
Copy Markdown
Contributor

Claude encountered an error after 2s —— View job


I'll analyze this and get back to you.

@github-actions

github-actions Bot commented Jul 26, 2026

Copy link
Copy Markdown

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.

@github-actions

github-actions Bot commented Jul 26, 2026

Copy link
Copy Markdown

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.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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".

Comment thread plugins/playbooks/skills/fable-5/context/orchestration.md Outdated
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

claude Bot commented Jul 26, 2026

Copy link
Copy Markdown
Contributor

Claude encountered an error after 2s —— View job


I'll analyze this and get back to you.

@claude

claude Bot commented Jul 26, 2026

Copy link
Copy Markdown
Contributor

Claude encountered an error after 2s —— View job


I'll analyze this and get back to you.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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".

Comment thread plugins/playbooks/skills/fable-5/context/orchestration.md Outdated
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

claude Bot commented Jul 26, 2026

Copy link
Copy Markdown
Contributor

Claude encountered an error after 2s —— View job


I'll analyze this and get back to you.

@claude

claude Bot commented Jul 26, 2026

Copy link
Copy Markdown
Contributor

Claude encountered an error after 2s —— View job


I'll analyze this and get back to you.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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".

Comment thread plugins/playbooks/skills/fable-5/context/orchestration.md Outdated
…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

claude Bot commented Jul 26, 2026

Copy link
Copy Markdown
Contributor

Claude encountered an error after 2s —— View job


I'll analyze this and get back to you.

@claude

claude Bot commented Jul 26, 2026

Copy link
Copy Markdown
Contributor

Claude encountered an error after 2s —— View job


I'll analyze this and get back to you.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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".

Comment thread plugins/playbooks/skills/fable-5/context/opus-adaptation.md Outdated
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

claude Bot commented Jul 26, 2026

Copy link
Copy Markdown
Contributor

Claude encountered an error after 2s —— View job


I'll analyze this and get back to you.

@claude

claude Bot commented Jul 26, 2026

Copy link
Copy Markdown
Contributor

Claude encountered an error after 2s —— View job


I'll analyze this and get back to you.

@kyle-sexton
kyle-sexton merged commit e64d504 into main Jul 26, 2026
27 checks passed
@kyle-sexton
kyle-sexton deleted the feat/1324-fable-5-criteria-catalog branch July 26, 2026 00:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

playbooks: run the context-engineering criteria catalog over fable-5, excluded from the original pass by D-6

1 participant