Skip to content

fix(research): dispatch evidence-gathering subagents on the mid tier - #1783

Open
giuseppebisemi wants to merge 3 commits into
EveryInc:mainfrom
giuseppebisemi:fix/research-subagent-model-tiers
Open

giuseppebisemi wants to merge 3 commits into
EveryInc:mainfrom
giuseppebisemi:fix/research-subagent-model-tiers

Conversation

@giuseppebisemi

Copy link
Copy Markdown

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

Skill Subagent Tier Why
ce-compound Context Analyzer mid classifies evidence for the orchestrator
ce-compound Related Docs Finder mid search; the orchestrator judges the result
ce-compound session-history synthesis mid summarizes evidence
ce-compound best-practices-researcher, framework-docs-researcher mid gather sources
ce-compound Solution Extractor inherit its prose becomes the permanent doc body
ce-compound performance-oracle, security-sentinel, data-integrity-guardian, pattern-recognition-specialist inherit judge the solution
ce-compound semantic grounding validator mid (unchanged) already tiered
ce-plan repo-research-analyst, learnings-researcher, git-history-analyzer, best-practices-researcher, framework-docs-researcher mid retrieve and summarize evidence
ce-plan slack-researcher, web-researcher mid (unchanged) already tiered
ce-plan spec-flow, agent-native, architecture, migration and deepening reviewers inherit the plan adopts their judgment
ce-optimize learnings-researcher, repo-research-analyst mid retrieve evidence
ce-optimize experiment workers inherit (unchanged) write code
ce-optimize judge cheap (unchanged) cheap by design

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.md points back to it. enhancement.md points 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:validate and bun run plugin:validate pass.
  • bun run test: 4320 pass, 1 skip, 1 fail. The failure is tests/skills/ce-packs-resolver.test.ts ("without a git binary on PATH", exit 127). It fails the same way on a clean main checkout 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.
  • Eval: test:skill-eval-cell on 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

  • Model: Claude Code · claude-opus-5-5

giuseppebisemi and others added 3 commits September 26, 2026 14:55
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

No deployments
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.

Research-only subagents in ce-compound, ce-plan and ce-optimize inherit the ceiling model

1 participant