fix(research): dispatch evidence-gathering subagents on the mid tier - #1783
Open
giuseppebisemi wants to merge 3 commits into
Open
giuseppebisemi wants to merge 3 commits into
giuseppebisemi wants to merge 3 commits into
Conversation
Context Analyzer, Related Docs Finder, session-history synthesis, and the Phase 3 research prompts retrieve or classify evidence for the orchestrator to judge, so they take the platform's mid-tier model when the harness exposes a known override. The Solution Extractor and the Phase 3 domain reviewers keep the inherited model. Unknown model names or no per-agent selection fall back to inherit. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The tier rule named only the external and organizational researchers, so repo, learnings, git-history, and docs research inherited the ceiling model. Restate it as a condition: prompts that retrieve and summarize evidence take the mid tier; prompts whose output is a judgment the plan adopts inherit. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #1782
ce-compound, ce-plan and ce-optimize now pick a model tier for their research subagents the same way ce-ideate, ce-brainstorm and ce-explain already do. Subagents that retrieve or summarize evidence for the orchestrator run on the platform's mid tier (the Sonnet class on Claude Code). Subagents that judge, write the final doc, or write code keep the inherited model. The one exception is ce-optimize's judge, which keeps the cheap tier it already had.
Background, including the usage numbers and the Opus 5.5 cost guidance, is in #1782.
Classification
Design decisions
The calling skill owns the choice, as the convention requires. Prompt assets stay frontmatter-free and no file names a model.
The fallbacks don't change. When the harness exposes no known override, the skill omits the parameter and inherits. That keeps the default #261 and #851 settled on: no hardcoded model pins, and inherit unless a skill has a reason not to. On Codex, the mid tier applies only when the dispatch primitive exposes an explicit model or custom-agent selector.
ce-compound states the rule once in
references/research.md.session-history.mdpoints back to it.enhancement.mdpoints back for the rule and names the assignments for its own agents, because the rule's list covers only the Phase 1 subagents.In ce-plan, the old one-line note about tiers had no test or learning behind it. Git history shows only refactors touched it (#967 added it, #1470 moved it, #1671 reworded it), so I rewrote it instead of adding a second note beside it.
Validation
bun run release:validateandbun run plugin:validatepass.bun run test: 4320 pass, 1 skip, 1 fail. The failure istests/skills/ce-packs-resolver.test.ts("without a git binary on PATH", exit 127). It fails the same way on a cleanmaincheckout on my machine, and the cause has nothing to do with this change. The test runs Python with an empty PATH. A pyenv-style shim starts with#!/usr/bin/env bash, can't find bash, and exits 127 before the resolver runs.test:skill-eval-cellon ce-compound against the working tree. The Claude cell placed every ce-compound subagent in the table above on the expected tier. The Codex cell didn't run because the account hit its usage limit, so the Codex path is untested. I didn't run evals for ce-plan or ce-optimize. They apply the same rule in the same shape.Follow-up: ce-compound-refresh has similar research steps and isn't covered here.
Security Disclosure
No security-relevant changes.
Agent Disclosure
Claude Code · claude-opus-5-5