feat(sdd): follow a task's declared implementation tier at dispatch

The skeleton-first task template carries a Tier field the planner marks
deliberately. Model Selection now follows it instead of re-deciding at
dispatch, the implementer template's model slot reads it at fill time, and
an explicit mechanical ruling overrides the mid-tier contract floor —
the planner has already ruled the deliverable fully specified.

Task templates without a Tier field are unaffected: every route falls
through to the existing Model Selection guidance.
This commit is contained in:
Jesse Vincent
2026-08-19 17:32:55 +00:00
parent ef0ca09658
commit a56a34365a
2 changed files with 13 additions and 3 deletions
+8 -1
View File
@@ -195,6 +195,10 @@ Use the least powerful model that can handle each role to conserve cost and incr
**Mechanical implementation tasks** (isolated functions, clear specs, 1-2 files): use a fast, cheap model. Most implementation tasks are mechanical when the plan is well-specified. **Mechanical implementation tasks** (isolated functions, clear specs, 1-2 files): use a fast, cheap model. Most implementation tasks are mechanical when the plan is well-specified.
When a task carries a **Tier:** field, follow it — the planner already
ruled: mechanical → the cheapest available model; judgment → a standard
model. Do not re-litigate the tier at dispatch.
**Integration and judgment tasks** (multi-file coordination, pattern matching, debugging): use a standard model. **Integration and judgment tasks** (multi-file coordination, pattern matching, debugging): use a standard model.
**Architecture and design tasks**: use the most capable available model. **Architecture and design tasks**: use the most capable available model.
@@ -216,7 +220,10 @@ most expensive — which silently defeats this section.
**Turn count beats token price.** Wall-clock and context cost scale with how **Turn count beats token price.** Wall-clock and context cost scale with how
many turns a subagent takes, and the cheapest models routinely take 2-3× the many turns a subagent takes, and the cheapest models routinely take 2-3× the
turns on multi-step work — costing more overall. Use a mid-tier model as the turns on multi-step work — costing more overall. Use a mid-tier model as the
floor for reviewers and for implementers working from prose descriptions. floor for reviewers and for implementers working from task contracts or
prose descriptions — unless the task's Tier line says mechanical: the
planner has already ruled the deliverable fully specified, so treat a
mechanical-tier contract like spelled-out content.
When the task's plan text contains the complete code to write, the When the task's plan text contains the complete code to write, the
implementation is transcription plus testing: use the cheapest tier for implementation is transcription plus testing: use the cheapest tier for
that implementer. Single-file mechanical fixes also take the cheapest tier. that implementer. Single-file mechanical fixes also take the cheapest tier.
@@ -5,8 +5,11 @@ Use this template when dispatching an implementer subagent.
``` ```
Subagent (general-purpose): Subagent (general-purpose):
description: "Implement Task N: [task name]" description: "Implement Task N: [task name]"
model: [MODEL — REQUIRED: choose per SKILL.md Model Selection; an omitted model: [MODEL — REQUIRED: when the brief carries a Tier line, set from it:
model silently inherits the session's most expensive one] mechanical → the cheapest model the subagent tool offers; judgment →
a standard mid-tier model. Otherwise choose per SKILL.md Model
Selection. An omitted model silently inherits the session's most
expensive one]
prompt: | prompt: |
You are implementing Task N: [task name] You are implementing Task N: [task name]