Skip to content

Commit 8c655e8

Browse files
committed
fix: run model switching at 1M with a fixed Opus/Sonnet pair
- opusplan planning leg pinned to claude-opus-4-8[1m] (200K -> 1M); the Sonnet 5 execution leg is natively 1M. The pair is fixed, not configurable: cross-family ANTHROPIC_DEFAULT_* slot pins would hijack the /model picker (a Fable plan model made real Opus unreachable). - Console Settings shows the pair as static text (Opus 4.8 / Sonnet 5, both 1M); toggle-aware settings injector reconciles/strips slot pins. - Docs, skills, rules, and the session announcement updated to the fixed-pair reality; no more 'configurable Plan/Execution model' claims. - Bundles staged in-flight hook/skill/rule/agent-config updates.
1 parent d118251 commit 8c655e8

55 files changed

Lines changed: 656 additions & 292 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,7 @@ Discuss → Plan → Approve → Implement (TDD) → Verify → Done
230230

231231
**Verify:** Full test suite + actual program execution → **changes review** (mechanism per the Console's Changes Review Mode setting in Claude Code — a single changes-review sub-agent by default for the lowest token cost, or the built-in `/code-review` skill at medium/high/xhigh — plus an inline plan-compliance & goal-truth audit; native changes-review agent in Codex) → for UI features, executes each E2E scenario step-by-step via browser automation (pass/fail tracked, results written to plan) → auto-fixes findings → squash merges to main on success.
232232

233-
**Model:** With [Model Switching](https://pilot-shell.com/docs/features/model-routing) on (default), planning runs on **Opus** and implementation + verification on **Sonnet**, automatically — no manual `/model` step. `/spec` checks your model first and blocks with a reminder to run `/model opusplan` if you're on the wrong one (it requires Opus when Model Switching is off). On **Claude Fable 5** (`/model fable`) the whole workflow runs single-model — there is no `fableplan` — and Pilot preserves your saved Fable model instead of overwriting it.
233+
**Model:** With [Model Switching](https://pilot-shell.com/docs/features/model-routing) on (default), planning runs on **Opus 4.8** and implementation + verification on **Sonnet 5**, automatically — both at 1M context, no manual `/model` step. `/spec` checks your model first and blocks with a reminder to run `/model opusplan` if you're on the wrong one (it requires Opus when Model Switching is off). With Model Switching off, **Claude Fable 5** (`/model fable`) runs the whole workflow single-model — there is no `fableplan` — and Pilot preserves your saved Fable model instead of overwriting it.
234234

235235
</details>
236236

386 Bytes
Binary file not shown.
1 Byte
Binary file not shown.
Binary file not shown.
-151 Bytes
Binary file not shown.
144 Bytes
Binary file not shown.
1.55 KB
Binary file not shown.
1.39 KB
Binary file not shown.

docs/docusaurus/docs/features/console.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -145,9 +145,9 @@ Four toggles control user interaction points during `/spec`. Disable all four fo
145145
| **Branch Isolation** | On | Asks how to isolate `/spec` changes (new branch or worktree) | Always works on the current branch |
146146
| **Ask Questions** | On | Asks clarifying questions during planning | Planning makes autonomous default choices |
147147
| **Plan Approval** | On | Requires your approval before implementation starts | Implementation begins automatically after planning |
148-
| **Model Switching** *(Claude Code only)* | On | Automatically runs `/spec` planning on Opus and implementation + verification on Sonnet (requires the `opusplan` model - see [Model Routing](model-routing)). No manual `/model` step. Not applicable on Fable 5, which runs the whole workflow single-model. | The whole `/spec` workflow runs on Opus (or on Fable 5 when that is the active model) |
148+
| **Model Switching** *(Claude Code only; own Settings block showing the fixed pair)* | On | Automatically runs `/spec` planning on Opus 4.8 (1M) and implementation + verification on Sonnet 5 (1M) - requires the `opusplan` model (see [Model Routing](model-routing)). The pair is fixed; remapping model slots would hijack the /model picker. No manual `/model` step. | The whole `/spec` workflow runs on your active `/model` choice (Pilot defaults it to Opus 4.8 at 1M; a saved Fable model is preserved) |
149149

150-
With all four workflow toggles off, `/spec add user authentication` plans, implements, and verifies the feature end-to-end without checkpoints, entirely on Opus.
150+
With all four workflow toggles off, `/spec add user authentication` plans, implements, and verifies the feature end-to-end without checkpoints, entirely on your active model.
151151

152152
:::warning Token usage in autonomous mode
153153
No checkpoints means your agent executes the entire workflow without asking. Make sure your prompt is specific enough to avoid misinterpretation. You can always interrupt with Escape.

docs/docusaurus/docs/features/hooks.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ Blocking hooks reject actions or force fixes before they land. Non-blocking hook
3030

3131
| Hook | Description |
3232
|------|-------------|
33-
| `spec_mode_guard.py` | Warns outside bypassPermissions; blocks manual plan mode; gates the `/spec` planning model — requires `opusplan` (shows as Sonnet) when Model Switching is ON, Opus when OFF; Fable-family models (Fable 5 / Mythos 5) pass in both states |
33+
| `spec_mode_guard.py` | Warns outside bypassPermissions; blocks manual plan mode; gates the `/spec` planning model — requires `opusplan` (shows as Sonnet before planning) when Model Switching is ON, Opus when OFF; Fable-family models (Fable 5 / Mythos 5) pass in both states |
3434
| Session initializer | Registers session with the Console worker (async) |
3535

3636
## PreToolUse

0 commit comments

Comments
 (0)