What goes wrong when a todo line and detail block are everything the worker gets
Pinning models on todos and dispatching them saves tokens. That story is in Why I pin a model on each todo. This is the other side.
Forced handoffs need care. There are traps you miss if you do not look closely.
1. It starts blank
A subagent does not inherit the parent conversation. The prompt is everything. Only fork-style agents keep parent context. What dispatch usually passes is a todo.md line, the detail block, and a dossier.
“We already agreed last turn” from the main session does not travel. Todoist descriptions are not read either. If it is not in the repo todo, it does not exist.
So a cheap model alone does not save you. With empty context, cheap or expensive both just search. Same axis as an LLM that meets you blank every session. the principle applies at the handoff unit too.
2. Pack enough prompt
The pin table is this:
| Where | What |
|---|---|
| todo line | one sentence goal and scope |
| detail block | repro (input → expected → actual), bans, file hints |
| dossier | acceptance criteria, decisions, verification smoke |
Hand off “search broken” as one line and the agent never reproduces, only burns turns. That is why todos look long. Detail grows so context can ride along. Not clutter. the handoff contract.
Dispatch also validates before run. No description, or a vague one, means no execute. If What / How / Output are unclear, it bounces for concreteness. Skip that gate and you get the 140-turn case below.
3. Without stop conditions: 140 turns
On 2026-07-06 I forced a subagent on a UI bug and burned about 140 turns. Almost zero code change. a reproduce-failure loop. It turned out not to be a code bug but a missing empty-query UX requirement. With a real repro sentence it would have been near zero turns.
Dispatch contracts now say: for bug tasks, try reproduce within three attempts. If not reproducible, return requirement defect immediately. No extra hypothesis hunting or git archaeology. If there is no repro sentence at all, do not try. return.
Agents cannot ask back. Give only procedure and they dig forever under a sub-goal. Escape conditions have to be contract. One pin line: interpretation and decisions in a living session; compiled execution in a disposable agent; human eyes at the end.
Before you hand off
- Goal and scope in one sentence
- Repro (input → expected → actual). No bug handoff without it
- Bans and file hints in the detail block
- Success / failure / verification smoke visible
- You are not relying on a Todoist-only clue
Without those, do not delegate. Model choice and dynamic model: tags live in the pair post.
Forced handoff is good for tokens. Just remember you are throwing work at someone who starts blank.