feat: add fable as the escalation ceiling above opus in sdd - #113
feat: add fable as the escalation ceiling above opus in sdd#113adthoms wants to merge 2 commits into
Conversation
Claude Code now exposes `fable` (Claude Fable, the tier above Opus) as a model alias, but the sdd plan-task and implement-task skills only knew the haiku/sonnet/opus ladder, so `--model fable` was not accepted and an `opus`-tier failure had nowhere to escalate. - Accept `fable` in the `--model` argument of plan-task and implement-task and in the `Model:` / `Reviewer model:` enums of the task file format. - Extend the escalation ladder to haiku -> sonnet -> opus -> fable; fable is the new ceiling. - Keep automatic selection unchanged: the tier tables still top out at opus, the Phase 3 / reviewer "+1" caps stay at opus, and fable is never pre-assigned. It is spent only after an opus attempt has failed or on explicit request, so no existing run changes cost or behaviour unless opus already failed. - Add a fable row to the cross-provider equivalence tables and a "fable pre-assigned" row to the tech-lead anti-pattern table; Judge 5 now checks that plans do not pre-assign fable. - Bump sdd to 3.7.0 and the marketplace to 3.11.0. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011j7h5Ytw56h4D198aHUKG6
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011j7h5Ytw56h4D198aHUKG6
|
Feature request (out of scope for this PR, noted here for tracking): a plan-time option that pins one model on every step. Today there are two
Use case: a team that runs one tier for all implementation work (all Proposed behaviour, one of:
Option 1 keeps the existing |
|
@LeoVS09 Please let me know if using Fable (and Astra) is planned for sdd |
Claude Code exposes
fable(Claude Fable, the tier above Opus) as a model alias for sub-agents. Thesddplan-task and implement-task skills only know thehaiku/sonnet/opusladder, so--model fableis not accepted, the task-fileModel:/Reviewer model:enums reject it, and anopus-tier failure has nowhere to escalate except back to the user.This PR adds
fableas a fourth tier at the top of the ladder. Automatic selection is unchanged.What changes
plugins/sdd/skills/plan-task/SKILL.md--modelacceptsfable. Escalation ladder becomeshaiku→sonnet→opus→fable, withfableas the ceiling. Tier-default and cap paragraphs state thatfableis never auto-selected. Cross-provider table gains afablerow. Phase 5 agent lists and Judge 5 know the tier.plugins/sdd/skills/implement-task/SKILL.md--modelandMODEL_OVERRIDEacceptfable. The "Ceiling" reasoning step names the ladder so a fix can escalateopus→fable. Task-file enums acceptfable.plugins/sdd/agents/tech-lead.mdReviewer model:format acceptfable. Tier-default paragraph, reviewer rule and a new anti-pattern row sayfableis never pre-assigned. Cross-provider table gains afablerow.docs/plugins/sdd/plan-task.md,docs/plugins/sdd/implement-task.md--modelreference updated.plugins/sdd/.claude-plugin/plugin.json,.claude-plugin/marketplace.jsonsdd3.6.0 → 3.7.0, marketplace 3.10.0 → 3.11.0 viajust set-version/just set-marketplace-version.skills/,agents/,antigravity/,gemini-extension.jsonjust sync-provider-formatsin a separate commit.Design
fableis reachable in exactly two ways:opus-tier work fails a judge or review, the Escalation Rule bumps the phase (or fix) and its judge tofableinstead of stopping atopus. Iffablealso fails, the orchestrator reports to the user as before.--model fableruns every agent and judge atfable, the same way the existing override works for the other tiers.The Selection Rules tables, the Phase 3 "+1 capped at
opus" rule, and the reviewer "+1" rule are untouched. A run that never fails atopusbehaves and costs exactly as it does today. This follows the policy's own principle that a stronger model must be earned rather than provisioned pre-emptively. If you would rather have the caps move tofableas well, that is a two-line change in the same paragraphs.For non-Anthropic providers, the equivalence tables map
fableto the provider's deliberate-reasoning edition above itsopus-class model, or collapse it ontoopuswhen no such tier exists.Verification
grepoverplugins/sddanddocs/plugins/sddconfirms the only remaining three-tier lists are worked examples and the precedence prose, which are correct as they stand.just sync-provider-formatswas re-run after committing; the tree stayed clean, so the fork-PR drift check in CI will pass.Not in scope: the
saddplugin (do-in-parallel,do-and-judge,do-in-steps) has the same--model opus|sonnet|haikuenum. Happy to follow up with the same treatment there if wanted.🤖 Generated with Claude Code
https://claude.ai/code/session_011j7h5Ytw56h4D198aHUKG6