Skip to content

docs(playbooks): regenerate the fable-5 doctrine for Fable 5.1 - #12055

Merged
kyle-sexton merged 7 commits into
mainfrom
feat/4346-fable-5-1-doctrine
Nov 1, 2026
Merged

kyle-sexton merged 7 commits into
mainfrom
feat/4346-fable-5-1-doctrine

Conversation

@kyle-sexton

Copy link
Copy Markdown
Member

Closes #4346

Summary

The playbooks:fable-5 pack is now authored by Claude Fable 5.1 (model id claude-fable-5-1), regenerated in a live Fable 5.1 session per the issue's Handoff procedure and the owner's Option A decisions of 2026-09-29 and 2026-10-01. The doctrine transfers: as the author I rejected no core line or chapter, which matches the Fable 5.1 prompting guide's own statement that Fable 5 prompts carry to 5.1 without changes. So the regeneration is a fold and re-authoring, not a rewrite: the guide's handful of deltas become model-neutral first-person doctrine in their owning chapters, fable-5-1.md is retired, the six sibling chapters are re-baselined to the new author, the three stale verification records are re-derived with 2026-11-01 four-part records, and the evals assert the new routing.

Where the issue's two acceptance lists differ (the triage Brief's last criterion routes "fable 5.1 adaptation" to a Fable 5.1 chapter; the later Handoff Requirements say Fable 5.1 reads no chapter and fable-5-1.md is removed), this PR follows the Handoff Requirements, which the owner's decisions cite.

Decisions, each with its basis:

  • Fable 5 sessions read no chapter (owner: "go w/ recommendations", 2026-11-01). Meta-rule 3 records it with a pointer to the guide's opening paragraph and the trigger that writes fable-5.md the day a Fable-5-only steer is documented. Basis: the guide's opening (read 2026-11-01); every section a reverse-delta chapter could hold would say "applies unchanged" plus a pointer, and the links-only rule forbids the behavior comparisons that would give it content.
  • The API-side rules the old chapter carried move to reference/prompt-caching.md as a model-neutral "Request assembly" section; per-model facts stay at the pointers. Basis: that file's header already scopes it to request assembly; one home.
  • The Fable 5 system-card sentence leaves meta-rule 3. Basis: in the Fable 5.1 & Mythos 5.1 card (September 1, 2026, 212 pages) §1.5 and §8.3 are unrelated to fallback; §3.2 and §6.4.9 state nothing a session acts on; model-config "Automatic model fallback" and "Ask before switching" own configuration, duration and return.
  • The spending-your-effort moves become one depth-scaled oracle bullet in the verification chapter's adversarial self-review, pointing at model-config "Choose an effort level" with the post as a correlate and no figures; "a test fails on a half-finished fix" is recorded as already covered by the debugging toggle and the planning red-to-green rule.
  • The ## Quoting retrieved sources section PR docs(playbooks): recheck Fable 5.1 deltas against the live guide (#4346) #5076 added is confirmed (the guide section is live) and relocated into the communication chapter's new "Density, formatting and quotation" section.
  • No model-graded eval run: the routing cases are skill-creator evals.json, which claude plugin eval does not read; routing rests on static validation and the dry run below.

Fix

Five commits on feat/4346-fable-5-1-doctrine (head 38b0e47efc):

  1. 0d33db34ef Skill body and chapter folds. SKILL.md names Fable 5.1 at the H2, line 13, description and summary; meta-rule 3 inverts to "if you are not Claude Fable 5.1", states the Fable 5 and later-Fable-version rules, drops the card sentence; the folds land in execution (per-round batching, targeted edits, the committed-tests clause), communication (the density/formatting/quotation section, the long-run opening and closing line, the prompt-authoring note), calibration (low-effort recall, per-model effort sweep), context-economy (compaction-summary instruction), recovery (classifier refusals as a fourth failure kind), verification (oracle check), orchestration (lead-keeps-working pointer).
  2. 62ffe87204 fable-5-1.md removed; the six siblings name the 5.1 author and record the recheck.
  3. 7d47afd084 The three records: calibration thinking-table pointer (page moved, 23,658 B, Fable 5.1 row present); context-economy keep-all record against Claude Code 2.1.316 (builder $7t, {hasThinking, toolClearing}, keep:"all", beta string, CLAUDE_CODE_DISABLE_THINKING gate); every prompt-caching row re-read with six corrections (effort anchor renamed; mid-conversation model list in the page's opening note; cache diagnostics stable with Limitations pointed; lifetime counting under "How prompt caching works"; usage-cost row follows the recommended API; batch stacking attributed to the batch page) and the Console note in the absence form; the new "Request assembly" section.
  4. 412dfcdc05 README, update skill, plugin description, control-skill page; catalog, cheat sheet and native-surfaces view regenerated; plugin-philosophy.md and records.json repointed; evals 23 to 28; a minor changelog fragment (playbooks is fragment-mode; no version or CHANGELOG edit).
  5. 38b0e47efc Fresh-context review fixes: three sentences rewritten in the playbook's own words, two page-opening pointers say they have no anchor; two drifted pointers the resolution loop found are repointed (Code Review setup to code-review-setup, Fable versus Mythos to its renamed anchor).

Per-chapter disposition (the issue's first Requirement):

File Disposition What changed
SKILL.md rewritten in part author, meta-rule 3, routing row, "NOT" line; core doctrine lines kept
calibration.md kept, extended low-effort recall rule; per-model effort sweep; thinking-table record re-dated; Fable versus Mythos anchor
communication.md kept, extended "Density, formatting and quotation" section; long-run opening and closing line; Finish-the-whole-task pointer; prompt-authoring note
context-economy.md kept, extended compaction-summary instruction; keep-all record re-derived against 2.1.316
debugging.md kept no change
execution.md kept, extended per-round batching; targeted edits; committed-tests clause
orchestration.md kept, extended lead-keeps-working pointer
planning.md kept no change
problem-framing.md kept no change
reading-dense-images.md kept no change (already points at the 5.1 guide's vision section)
reasoning-moves.md kept no change
recovery.md kept, extended classifier refusal and fallback as a fourth failure kind
trust-and-authority.md kept no change
verification.md kept, extended independent-oracle bullet; Code Review setup pointer repointed
reference/model-adaptation/fable-5-1.md removed deltas folded; API-side rules moved
six sibling chapters kept, re-baselined author line, preamble, dated recheck line; opus-4-8.md "Behaviors to emulate" record
reference/prompt-caching.md kept, extended every record re-dated; "Request assembly" section

Routing dry run, read off the new body: arming on Claude Fable 5.1 reads no chapter (meta-rule 3, first sentence of the author rule); arming on Claude Fable 5 reads no chapter (the Fable 5 sentence and its pointer record); a fallback notice naming Opus 5 re-resolves meta-rule 3 and reads opus-5.md, whose Sources line now records which folded rules it overrides.

Verification

  • bash plugins/skill-quality/scripts/check-skill.sh --require-evals plugins/playbooks/skills: 5 passed, 0 failed (fable-5 included).
  • bash plugins/skill-quality/scripts/check-evals-quality.sh plugins/playbooks/skills/fable-5/evals/evals.json: PASS, 0 warnings; the update skill's evals: PASS, 4 pre-existing warnings.
  • markdownlint-cli2 "plugins/playbooks/**/*.md" docs/plugin-philosophy.md .claude/skills/control-claude-code-plugins/features/playbooks/README.md ".changes/playbooks/*.md": 78 files, 0 issues.
  • bash scripts/validate-plugins.sh: pass (includes generate-catalog.mjs --check and generate-cheatsheet.mjs --check; 152 mod tests pass).
  • bash scripts/check-changelog-fragments.sh --check-required origin/main: pass. bash scripts/check-changelog-parity.sh --check-bump origin/main: pass.
  • Grep suite: grep -rniE 'not yet confirmed|unconfirmed against|keep instructed' plugins/playbooks/skills plugins/playbooks/reference returns nothing; grep -n "Fable 5's" plugins/playbooks/skills/fable-5/SKILL.md returns nothing; grep -rlE 'authored by Claude Fable 5([^.]|\.$|\. )' plugins/playbooks/reference/model-adaptation/ returns nothing and the 5\.1 form matches 6 files; grep -rho 'prompting-claude-fable-5-1#[a-z0-9-]*' plugins/playbooks/skills/fable-5/context/ | sort -u | wc -l prints 14; grep -nE 'As of(\*\*)?:' plugins/playbooks/reference/prompt-caching.md | grep -v 2026-11-01 returns nothing; fable-5-1.md appears only in the changelog fragment and CHANGELOG history; the description is 981 of 1024 code points.
  • Pointer resolution: every docs URL in prompt-caching.md, calibration.md, context-economy.md, the seven folded chapters and SKILL.md fetched whole at --max-age 0 (32 pages, all state read) and each fragment matched against the page's heading slugs: 72 fragments, 2 drifted and repointed in commit 5, 1 (thinking-troubleshooting#supported-models) a legacy anchor the calibration chapter already records as kept under a renamed heading.
  • Fresh-context diff review (a separate Opus agent, criteria AC1-AC9 plus three rule checks, author's rationale withheld): 10 PASS, 2 FAIL; both FAILs (three sentences tracking guide wording; two pointers without an anchor) fixed in commit 5 and re-checked by lint and the grep suite.
  • Not run: a model-graded eval of the routing cases (see Summary). The Fable 5.1 guide was re-fetched at the start of phase 2 and was byte-identical to the planning read (55,128 B, MD5 741ea797e8313cecaa01ba0a7e4a29dc).

Related

🤖 Generated with Claude Code

kyle-sexton and others added 6 commits November 1, 2026 13:34
The skill body names Claude Fable 5.1 as the author, meta-rule 3 routes
"if you are not Claude Fable 5.1", states that Fable 5 and any later
Fable version read no chapter, and drops the Fable 5 system-card
pointer in favor of the model-config fallback sections. The Fable 5.1
guide's deltas fold into their owning chapters as model-neutral
doctrine with pointer records: per-round batching, targeted edits and
the tests clause (execution); density, formatting and quotation, the
long-run opening and closing lines, and the prompt-authoring note on
progress updates (communication); low-effort recall and the per-model
effort sweep (calibration); the compaction-summary instruction
(context-economy); classifier refusals as a fourth failure kind
(recovery); the independent-oracle check (verification); the
lead-keeps-working pointer (orchestration).

Refs: #4346

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…ters to the 5.1 author

The Fable 5.1 adaptation chapter goes: its session-side deltas are
doctrine now, and its request-assembly rules move to the prompt-caching
reference in the next commit. Fable 5 reads no chapter under meta-rule
3, recorded with a pointer and the trigger that writes fable-5.md. The
six sibling chapters name Claude Fable 5.1 as the author, and each
Sources section records the 2026-11-01 recheck of its deltas against
the re-authored doctrine: all kept, one repointed (the Opus 4.8
"Behaviors to emulate deliberately" section keeps its Fable 5 guide
pointers with a dated record, since the 5.1 guide restates none of
them).

Refs: #4346

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
The calibration chapter's thinking-table pointer is re-read 2026-11-01
with the page's new size and MD5 and a Fable 5.1 row present. The
context-economy keep-all record is re-derived against Claude Code
2.1.316, the version the repository pins and the installed build, with
the builder and request-assembly observations and the thinking page's
2026-11-01 read. Every prompt-caching row is re-read: the effort anchor
follows its renamed heading, the mid-conversation model list is found
in the page's opening note, cache diagnostics reads as stable with its
Limitations section pointed, the lifetime-counting rule points at the
section that states it, the usage-cost row follows the page's
recommended API, batch stacking is attributed to the batch page, and
the Console-view note takes the absence form. A model-neutral Request
assembly section carries the practice the retired Fable 5.1 chapter
stated API-side, with per-model facts left at the pointers.

Refs: #4346

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…adata and evals

README, the update skill, the plugin description, the control-skill
feature page and the generated catalog, cheat sheet and native-surfaces
view name Claude Fable 5.1 as the pack's author. The fable-5 evals
route "fable 5.1 adaptation" and a Fable 5.1 arm to no chapter, "fable
5 adaptation" and a later Fable version to no chapter, and a fallback
from Fable 5.1 to Opus 5 or Opus 4.8 to that model's chapter; the three
cases that named fable-5-1.md no longer do. plugin-philosophy and the
native-surfaces store point at the prompt-caching reference's Request
assembly section where they pointed at the retired chapter. A minor
changelog fragment records the release.

Refs: #4346

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…ration

Three folded sentences that tracked the Fable 5.1 guide's wording are
rewritten in the playbook's own words (the append-only request
assembly bullet, the literal-naming rule, the committed-tests clause),
and the two pointers that cite a page opening say so, since those
openings carry no anchor. Two pointers the verification loop found
drifted are repointed: Code Review setup to its own page, and the Fable
versus Mythos section to its renamed anchor.

Refs: #4346

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@kyle-sexton
kyle-sexton marked this pull request as ready for review November 1, 2026 18:49
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 1, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-11-01T18:51:21.394212Z 2725a5b Draft marked ready
ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@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: 2725a5bdd3

ℹ️ 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".

@github-actions

github-actions Bot commented Nov 1, 2026 •

Copy link
Copy Markdown
Contributor

claude-security-review reviewed eee650fdbdd9b0f10f49cedf311a789131f71eeb: read 8 of 8 changed file(s); 0 finding(s), 0 as inline comments.

Security review (incremental, 2725a5b..eee650f)

No security issues found. I read every hunk of all 8 in-scope files in .claude-lane/incremental.diff.

What changed. All of it is prose in the playbooks doctrine and a changelog fragment. The edits replace sentences that restated a vendor guide's wording with the repository's own decision plus a pointer record. The changed spots:

  • the opus-4-8.md "Behaviors to emulate deliberately" record;
  • the meta-rule 3 pointer text in SKILL.md;
  • three sentences in calibration.md;
  • one sentence each in communication.md, context-economy.md and execution.md;
  • two bullets in the Request assembly section of prompt-caching.md.

Instruction-surface lens. I checked every reworded rule for a removed or softened prohibition, and none was removed or softened:

  • prompt-caching.md: "stripping them yourself risks a 400" becomes "strip none yourself". That keeps the prohibition and states it outright.
  • Earlier-turn edits: the edit-to-earlier-turn bullet still treats any such edit as a cache break and as the loss of every later thinking block.
  • calibration.md: the low-effort recall rule still binds harder at low effort and keeps the recall-grade label and the medium floor. The effort-sweep rule still forbids carrying a level over from another model.
  • execution.md and communication.md: the targeted-edit rule and the literal-names rule only reword their rationale.
  • Meta-rule 3 in SKILL.md: the routing logic is unchanged; only the wording of the pointer's label changed.

Because no rule was removed, I did not need the protected-class register for this round.

Trust controls and manifests. None of the 8 in-scope files matches a TRUSTED PATHS: glob. No trust control, token scope, kill switch or merge hold is touched, and neither is any .claude-plugin/*.json manifest, so there are no manifest lines to report.

Embedded text. The PR context and settled-threads files contain no directive aimed at this lane.

Settled threads. Both threads are about how the doctrine is authored or about eval evidence, not security, so this review raises nothing from them.

Spend. None.

critical-findings: 0

@github-actions

github-actions Bot commented Nov 1, 2026 •

Copy link
Copy Markdown
Contributor

claude-review reviewed eee650fdbdd9b0f10f49cedf311a789131f71eeb: read 8 of 8 changed file(s); 0 finding(s), 0 as inline comments.

Incremental review: 2725a5b → eee650f. No findings.

I read every hunk of .claude-lane/incremental.diff in all 8 files in scope. Most of the commit replaces sentences that said what an upstream guide states with plain pointers, which is what the owner's reply on the opus-4-8.md:124 thread describes.

  • opus-4-8.md: the "Behaviors to emulate deliberately" preamble now states only the repository's own decision. It also gains a complete four-part record: pointer, As of 2026-11-01, and a recheck trigger. The settled thread on this point is marked lines changed since resolution: no at this head, so I did not raise it again. The new record bullets sit next to the behaviors list with a blank line between them. The section already used that layout at L134-L152, so this is not new.
  • prompt-caching.md "Request assembly": the two rewritten bullets point at the "Preserved thinking pointer" and the "preservation pointer". Both targets exist in the same section's record, at L194 and L200. The bullets no longer give per-model specifics (the 400 error, unbilled dropped blocks) in their own text and send the reader to the pointer for them. That fits the section's opening rule that per-model facts are resolved at the pointers.
  • SKILL.md meta-rule 3, calibration.md, communication.md, context-economy.md and execution.md: these are wording changes that drop sentences saying what a guide states. Routing, triggers and records are unchanged. The context-economy.md record now says "both sections still supporting this record" in place of naming Fable 5.1 as listed under keep-all. Its recheck trigger still names the preservation list dropping Fable 5.1, so the record can still be rechecked.
  • Changelog fragment: one bullet was reworded to match the opus-4-8.md change. bump: minor is unchanged.

Closing issue #4346: this increment does not change whether any acceptance criterion is met. The settled thread on SKILL.md (no graded eval run) is an owner decision (Q2), and this increment does not touch routing.

Not verified by me: the author's statements that markdownlint reports 0 issues and that check-skill.sh gives 5 passed. I had no shell to run either.

No embedded instructions were found in the PR context or the settled-threads file.

…it says

The Opus 4.8 chapter's "Behaviors to emulate deliberately" record
states only this repository's decision (the Fable 5 guide pointers
stay) and points at the Fable 5.1 guide's opening and section index
with an as-of date and recheck trigger, in place of a sentence
paraphrasing the guide. The same sweep over every file the PR changed
rewrites the remaining sentences that stated page content as decisions
or pointers: the low-effort recall rule, the per-model effort line,
the targeted-edit line, the literal-naming line, the two record notes
on what a re-read page listed, the append-only and thinking-block
bullets in the request-assembly section, the meta-rule 3 pointer's
situation clause, and the changelog fragment.

Refs: #4346

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@kyle-sexton
kyle-sexton added this pull request to the merge queue Nov 1, 2026
Merged via the queue into main with commit b0da2bb Nov 1, 2026
46 of 47 checks passed
@kyle-sexton
kyle-sexton deleted the feat/4346-fable-5-1-doctrine branch November 1, 2026 19:19
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: regenerate the fable-5 doctrine for Fable 5.1

1 participant