Skip to content

models: ♻️ Route prose to Opus and review lanes to sol - #319

Merged
yasyf merged 1 commit into
mainfrom
model-routing
Oct 5, 2026
Merged

yasyf merged 1 commit into
mainfrom
model-routing

Conversation

@yasyf

@yasyf yasyf commented Oct 5, 2026

Copy link
Copy Markdown
Owner

Context: The owner changed model routing on October 5, 2026. Claude Opus 5.5 now writes all prose and copy, and astra writes none. Non-prose work that used to go to astra moves to gpt-6.1-sol through codex at xhigh on the standard tier: code and diff review, security review, bug diagnosis, sweeps, shell-heavy work, and second opinions. Astra and Fable are for exceptional cases only, root orchestrators run Opus, and Fable is kept for the most sensitive implementation. The general pack's model hooks still enforced the old table. prose_spawn_gate blocked an Opus subagent that wrote its own PR body or changelog, and it allowed only spawns that sent the writing to astra.

Summary: Invert the prose hooks and move the review and sweep lanes from astra to sol.

  • prose_spawn_gate now blocks a prose spawn routed to codex, a codex-wrapper agent, astra, or a sonnet, haiku, or fable pin. A spawn pinned to opus, or with no pin, skips the judge entirely. That covers ship-pr and any Opus agent that writes a PR body. The codex|astra skip and the codex-wrapper exemption are gone, and a prompt that mentions codex now goes to the judge instead of skipping it.
  • prose_workflow_nudge asks prose stages to pin model: 'opus' or stay unpinned. A deterministic skip leaves alone any script that has no non-Opus pin and no codex or astra mention.
  • review_routing_spawn_nudge, review_routing_workflow_nudge, and implementation_spawn_nudge name gpt-6.1-sol on the standard tier where they named gpt-6-astra. Fable is never a review or diagnosis lane and is limited to the most sensitive implementation.
  • DelegatedSpawn.unpinned_note reads "opus". The workflow script header and the inline-edit and browser rubrics describe an Opus root instead of a Fable main loop.

Motivation: The old gate blocked the exact work the owner now wants. If an Opus agent drafted a changelog or PR body, the gate told it to hand the writing to astra. The review nudges also pointed every finder at a model that is now reserved for exceptional cases.

Details: The inline tests follow the new rules. Blocks: sonnet, haiku, and fable pins, a codex:codex-wrapper rewrite, and an Opus orchestrator that delegates every sentence to astra. Allows: opus pins (including claude-opus-5-5), unpinned spawns, ship-pr with or without an opus pin, a codex-wrapper review that returns findings, and an Opus prompt where codex only reviews. All 106 inline cases pass, capt-hook lint is clean, and tests/test_builtin_inline.py, test_contexts.py, test_packs.py, test_review_fix.py, and test_hook_lint.py pass locally.

This PR leaves CLAUDE.md alone. cc-guides renders it from cc-skills:claude-rules, the cc-skills routing change updates that source, and the guides workflow re-renders it here.

Context: The owner's October 5, 2026 routing has Claude Opus write all prose, gpt-6.1-sol on the standard tier take astra's review, diagnosis, and sweep lanes, and Fable only the most sensitive implementation.

Summary: Invert prose_spawn_gate and prose_workflow_nudge to require Opus writers, and point the review and implementation nudges at sol.

Motivation: The old gate blocked Opus agents that write their own PR bodies and changelogs, and the review nudges routed finders to astra.

Details: Inline tests cover opus and unpinned allows, ship-pr, codex-wrapper and non-Opus pin blocks; 106 inline cases pass and capt-hook lint is clean.

Claude-Session-Id: 49027080-0f9e-407f-9742-d7f4b6726b65
@yasyf
yasyf merged commit 81dfd12 into main Oct 5, 2026
23 checks passed
@yasyf
yasyf deleted the model-routing branch October 5, 2026 18:27
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.

1 participant