- Superpowers is no longer part of the cycle; it survives only in implementation/references/superpowers.md (older models, override table). - implementation: plan altitude, staleness check in the attack, phase review records unplanned work (never auto-reverts). - Igor: orienting is not deciding, light grilling trial in brainstorm, research briefs ask for findings, journal times from `date`. - project/init: `## Build` settings section, gitignored project.local.md override. - New pinned agents planner, attacker, reviewer (Opus 5.5). - .codex/config.toml mirrors .claude/settings.json (spire + gitea).
43 lines
4.6 KiB
Markdown
43 lines
4.6 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 |
|
|
| Writing a plan | `planner` (pinned to Opus 5.5) | `"planner"`, omit `model` | Reads the code; plan at decision/contract altitude; never builds or attacks it |
|
|
| Attacking a plan, reshaping into a build plan | `attacker` (pinned to Opus 5.5) | `"attacker"`, omit `model` | Never the planner; writes the build plan |
|
|
| Phase review, re-check | `reviewer` (pinned to Opus 5.5) | `"reviewer"`, omit `model` | Never the builder; does not fix |
|
|
| Planned implementation, single block (plan attacked first) | one builder | project-pinned or omit (defaults to general-purpose) | Executes the block, verifies with the project's check/test commands; several blocks go to `athanor` |
|
|
| 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.
|