Skip to content

docs(specops): builders run on an explicitly passed builder-tier model, never the orchestrator's - #32

Merged
themightychris merged 2 commits into
developfrom
docs/builder-model-explicit
Oct 22, 2026
Merged

themightychris merged 2 commits into
developfrom
docs/builder-model-explicit

Conversation

@themightychris

Copy link
Copy Markdown
Member

The drain-the-DAG protocol said "use Sonnet for the implementation subagents" but did not say how, and the harness default is to inherit the orchestrator's model when a dispatch omits model. An orchestrator running on the strongest tier then runs every builder on that tier, which is the most expensive way to implement a plan and means one usage-limit event stops every builder at once. Seen in practice on 2026-10-21.

Changes

  • references/parallel-execution-protocol.md: the model bullet becomes a dispatch requirement. Pass model on every Agent call: Sonnet by default, Opus for correctness-critical plans (migrations, concurrency, auth). Name the backstop (CLAUDE_CODE_SUBAGENT_MODEL in a settings env block, which a per-call model still overrides) and reserve the orchestrator's own model for an explicit human request.
  • SKILL.md: the one-line summary of the protocol says the same ("a builder-tier model passed explicitly on every dispatch, never inherited from the orchestrator").

No project or client references.

🤖 Generated with Claude Code

https://claude.ai/code/session_015AK5HiZZnymqkm7nVLfnpP

…l, never the orchestrator's

The protocol said "use Sonnet for the implementation subagents" but did not say
how, and the harness default is to inherit the orchestrator's model when a
dispatch omits `model`. An orchestrator on the strongest tier then runs every
builder on that tier: the most expensive way to implement, and one usage-limit
event on that tier stops every builder at once.

State the rule as a dispatch requirement: pass `model` on every Agent call
(Sonnet by default, Opus for correctness-critical plans), set
CLAUDE_CODE_SUBAGENT_MODEL as the backstop, and reserve the orchestrator's own
model for the human's explicit request.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015AK5HiZZnymqkm7nVLfnpP
@themightychris
themightychris force-pushed the docs/builder-model-explicit branch from d397675 to e402cc2 Compare October 22, 2026 13:24
@themightychris
themightychris changed the base branch from main to develop October 22, 2026 13:24
… the same builder

The adversarial pre-review pass runs first on every branch; the orchestrator
then reads the diff with that report in hand and owns the merge. Each finding
is routed: a substantive fix goes back to the implementation subagent that
built the branch, resumed so it keeps its context, never a fresh builder; a
quick, unambiguous fix the orchestrator makes directly.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015AK5HiZZnymqkm7nVLfnpP
@themightychris
themightychris merged commit 5a48907 into develop Oct 22, 2026
1 check passed
@themightychris
themightychris deleted the docs/builder-model-explicit branch October 22, 2026 14:01
@themightychris themightychris mentioned this pull request Oct 22, 2026
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