Adept dispatches no longer pass a model alias over the pin. Igor checks the stamped model id of plan, attack and phase-review outputs before acting on them. Implementation work no longer goes to the Athanor as an unplanned brief. The spawning reference says plainly that "verified" means read from the schema, marks fork availability unverified, and cites the 184/184 evidence for alias-over-pin. Minor consistency fixes: trunk notes, re-check failure path, staging, fallout diffs, run-log timing.
40 lines
4.1 KiB
Markdown
40 lines
4.1 KiB
Markdown
# Model Tiers for Delegation
|
|
|
|
Prefer a project-pinned agent from `.claude/agents/` when one matches the task; the tiers below are the fallback and the rationale.
|
|
|
|
| Task type | Tier | `subagent_type` | Rationale |
|
|
|-----------|------|-----------------|-----------|
|
|
| Domain knowledge, repeated consultation | `adept` agent (Opus, long-lived) | `"adept"` | Accumulated priors, informed search, journal continuity; domain-scoped |
|
|
| Deep research, bug investigation | Opus-tier research agent | `"researcher"` | Depth, reasoning; writes reports, never modifies code |
|
|
| Quick fact extraction, version/config lookup | Haiku lookup | `"scout"` | Fast, cheap, read-only; at most 2 web pages |
|
|
| Code/file lookups, symbol tracing | Sonnet search | `"search"` | Read-only; targeted "where is X" lookups |
|
|
| Planned implementation | implementer agent | project-pinned or omit (defaults to general-purpose) | Executes plans, verifies with the project's check/test commands |
|
|
| Building a reshaped plan; multi-part jobs needing their own subagent fan-out | `athanor` (pinned to Opus 5.5, may use Agent/Task tool) | `"athanor"`, omit `model` | Builds one phase per turn; also takes non-build fan-out briefs |
|
|
| Complex summaries, git fixes, small code changes | Sonnet subagent | omit (defaults to general-purpose) | Capability/speed balance; needs write access |
|
|
| Test runs, compiles, commits, linear-data summaries | Haiku subagent | omit (defaults to general-purpose) | Fast, cheap, mechanical; needs Bash and possibly write access |
|
|
|
|
Rules of thumb:
|
|
|
|
- One task -> one subagent with an explicit output file path in the workpad.
|
|
- Implementation goes through the cycle (plan → attack the plan → build): the `athanor` gets a reshaped build plan, never an unplanned build brief. A non-build job with 3+ independent subtasks (research cascade, audit) may go to `athanor` as a single brief (scope, output paths, completion criteria).
|
|
- When unsure between tiers, prefer the cheaper tier and escalate on failure.
|
|
|
|
Write-capability guard:
|
|
|
|
- **`Explore` and `Plan` are READ-ONLY.** They cannot use Edit, Write, or NotebookEdit. Never dispatch them for tasks that must produce a file artifact (report, design, plan, research note). Use them only for pure lookups (`Explore`) or pure planning conversations (`Plan`) where the answer comes back in the agent's reply text, not as a written file.
|
|
- **Prefer Spire's pinned read-only agents over `Explore`.** `scout` (Haiku), `search` (Sonnet), and `researcher` (Opus, can write) are purpose-built and tool-restricted. Use `scout` or `search` for lookups instead of `Explore`.
|
|
- **For tasks that produce file output, use write-capable agent types.** Omit `subagent_type` (defaults to general-purpose) or use a project-pinned agent that has Edit/Write (`researcher`, `adept`, `athanor`). The `researcher` agent is the correct choice for research that must produce a written report.
|
|
|
|
Sub-delegation guard:
|
|
|
|
- **Sub-delegation guard.** Agent types without the Agent tool cannot spawn children: `scout`, `search`, `Explore`, and `Plan` are safe leaves. `general-purpose` and `researcher`/implementer agents may have the Agent tool and *can* sub-delegate — give them explicit "do not delegate" instructions, or route fan-out work to `athanor` on purpose. Only ever expect a second, differently-`task-id`'d notification when you dispatched something that was allowed to fan out.
|
|
|
|
Model selection rules:
|
|
|
|
- **Never dispatch a Fable-tier subagent unless the user explicitly asks.** Subagents are Opus or lower.
|
|
- **Unpinned agents get an explicit `model`** (`"opus"`, `"sonnet"`, `"haiku"`) — omitting it inherits the coordinator's model, which may be Fable.
|
|
- **Pinned agents get no `model`** unless you deliberately override the pin. The per-call alias overrides the frontmatter pin. Note the choice and have the agent stamp the model id it ran on.
|
|
- **Model traits** (which model is good at what, context guesstimates) live in the implementation skill's `references/models.md`, as dated observations. Defaults as of 2026-10-05: Opus 5.5 for the Athanor, planning, attacking plans and review.
|
|
|
|
This table can grow — add new agents and heuristics here as they prove out.
|