Skip to content

Fable Mode 2.0.0 — config-driven spend, Claude 5 era overhaul - #8

Merged
creativeskyai merged 5 commits into
mainfrom
claude/fable-opus5-overhaul-1i7tmj
Aug 8, 2026
Merged

creativeskyai merged 5 commits into
mainfrom
claude/fable-opus5-overhaul-1i7tmj

Conversation

@creativeskyai

@creativeskyai creativeskyai commented Aug 7, 2026 •

Copy link
Copy Markdown
Owner

What changed

A full 2.0 pass over every layer, adding one new layer: Config (.claude/fable/CONFIG.md). The file sets the defaults every fable command runs with — subagent_model (ships as opus), subagent_effort (ships as medium), fleet (light/standard/max), and optional votes / round / lead-cap overrides. Skills read it at invocation and pass it as config in workflow args; all 7 workflows apply it via a new drift-checked shared config block (model/effort on every agent call, fleet-scaled pools, votes, and caps, each announced with log()). A new skill, /fable-config (11th), shows settings, sets keys, or applies value / light / max presets, and prints the harness commands for main-agent model/effort/thinking that a pack cannot set itself.

Install-time behavior:

  • Installers special-case fable/CONFIG.md so --update never overwrites user tuning.
  • First-run settings: a shipped template (.claude/fable/settings.template.json) is materialized as the target's .claude/settings.json on first install only, pre-approving the Workflow and Agent tools so fleet launches don't prompt. An existing settings file is never modified (the installer prints the two entries to add instead), --update never touches it, and deleting it opts out. Disclosed in SECURITY.md and the README install/uninstall sections.
  • A root-level .claude/settings.json is never shipped (basename-skipped in the copy loop, gitignored in this repo).

Doctrine (FABLE.md), GUIDE.md, README, and agent reporting were rewritten leaner and plainer for the Claude 5 generation, with a value-over-token-burn framing (recommended driver: Fable 5 at low effort, or Opus 5; subagents on Opus at medium). New SVG banner; stale banner.png / review-pipeline.png removed (listed in the changelog for --update users); version bumped to 2.0.0.

Why

The pack predates the Claude 5 generation's leaner Claude Code system prompts and Anthropic's updated steering/context-engineering guidance. Fleet size and spend were only steerable by prompt wording, which the model had to infer; users wanted an explicit dial for how many subagents run, on what model, at what effort — plus documented low-effort/value presets, since lower effort with structural verification keeps benchmarking faster and cheaper than higher effort without it.

How it was verified

  • node tools/check-workflows.cjs passes (7 workflows, 7 agents, 11 skills; new config-block twin + required-block checks included)
  • Installer smoke test: fresh install (30 pack files + materialized settings.json, one import line), idempotent second run (0 copied), --update restores tampered FABLE.md byte-identical while preserving a user-edited CONFIG.md and settings.json
  • CI extended to assert the settings materialization, the tracked+1 file count, and config/settings preservation on both platforms — all three jobs green on the head commit
  • CHANGELOG.md updated and .claude/fable/VERSION bumped to 2.0.0 (checker enforces the match)
  • Dogfooded: the pack's own fable-review workflow ran over this branch through the new config path; its 5 confirmed findings were fixed in a follow-up commit on this PR

🤖 Generated with Claude Code

https://claude.ai/code/session_01XWSx33Mi2bXpR6w75r3SY2

claude added 5 commits August 7, 2026 19:52
Add .claude/fable/CONFIG.md (subagent model/effort, fleet, votes) read by
skills at invocation and honored by all 7 workflows via a drift-checked
shared config block; new /fable-config skill with value/light/max presets.
Installers preserve user CONFIG.md on --update (CI-tested both platforms).
Rewrite FABLE.md, GUIDE.md, README, and agent reporting style for the
leaner Claude 5 generation: plain language, lead with the outcome, value
over token burn. New SVG banner; drop stale PNGs; bump to 2.0.0.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XWSx33Mi2bXpR6w75r3SY2
The dogfood fable-review run (4 finders, 3 skeptics per finding, 19 agents)
confirmed 5 findings and refuted none:

- Shipped CONFIG.md had votes: 3 uncommented, short-circuiting the fleet
  vote presets (light=1/standard=3/max=5) — votes now ships commented, and
  the /fable-config presets re-comment it instead of forcing a count.
- fable-review never scaled its finder pool by fleet — light now runs 2 of
  4 dimensions, announced.
- /ultra hardcoded votes: 3 into review args, overriding user config — it
  now defers to the config's fleet.
- The checker's includes() presence test let a config block with an edited
  anchor line drop out of the drift comparison while still passing — the
  required-block check now demands a full twin-regex match (negative-tested).
- README's light-fleet agent math corrected to what the code does.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XWSx33Mi2bXpR6w75r3SY2
settings.json holds repo-local permission grants (currently just the
checker command), so both installers now skip it like settings.local.json
and it is gitignored — .claude/** otherwise ships verbatim to targets.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XWSx33Mi2bXpR6w75r3SY2
…template

New pack file .claude/fable/settings.template.json pre-approves the
Workflow and Agent tools — the harness-level half of the doctrine's
standing authorization. Installers copy it to the target's
.claude/settings.json only when none exists; an existing file is never
modified (a hint prints the two entries instead), and --update never
touches it. Disclosed in SECURITY.md, covered in README install and
uninstall, and CI now asserts materialization, the tracked+1 file count,
and that updates preserve a user-edited settings.json on both platforms.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XWSx33Mi2bXpR6w75r3SY2
Subagent thinking has no separate switch — subagent_effort is the honest
control, now stated in CONFIG.md and the /fable-config skill. The fleet
note also gives exact per-preset agent counts instead of adjectives.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XWSx33Mi2bXpR6w75r3SY2
@creativeskyai
creativeskyai marked this pull request as ready for review August 8, 2026 02:25
@cursor

cursor Bot commented Aug 8, 2026

Copy link
Copy Markdown

Bugbot is not enabled for your account, so this pull request was not reviewed.

Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs.

@creativeskyai
creativeskyai merged commit e0cf5bb into main Aug 8, 2026
3 checks passed
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.

2 participants