Research work in step 2 LOOP defaults to a dispatched background subagent, never my own tool calls
Mirrored from the fleet knowledge base: _rules/run-research-means-dispatch-not-do-it-yourself.md
Updated
Mirrored verbatim from
utopia-models/knowledge_rules/run-research-means-dispatch-not-do-it-yourself.mdby the allowlisted publish pipeline. Edit it there, not here.
name: run-research-means-dispatch-not-do-it-yourself
cases: [2026-09-22-background-research-means-launch-a-subagent-now, 2026-09-28-run-research-means-dispatch-a-subagent-not-do-it-myself, 2026-09-28-webfetch-summarization-is-still-foreground-research, 2026-09-30-foreground-research-on-step-2-is-the-recurring-weak-spot]
status: active
audience: agent
last-recurrence: 2026-09-30Research work in step 2 LOOP defaults to a dispatched background subagent, never my own tool calls
Fires when
Inside step 2 LOOP and about to make a WebFetch, WebSearch, Playwright, or investigative Bash call myself — "let me just check one thing", or iterating on a tool that just failed. WebFetch is not exempt for being "just one fetch": it summarizes through a small model into hedge-worded, unverified output. Also plain grep/python/Read over local data when Tyler asks a factual question mid-plan and I cannot name the exact file AND row (2026-09-30: four greps, company never identified, during a live call). The phrases "run research" / "run this in the background" fire it, but being in step 2 researching anything is trigger enough.
Trigger detail (full text — kept out of the always-loaded bundle)
I am inside step 2 LOOP of a plan and about to make a WebFetch, WebSearch,
Playwright, or investigative Bash call myself — including "let me just check one thing," "let me
try this once," "let me just look at the real site/doc directly," or continuing to iterate on a tool
that just failed. WebFetch is NOT exempt for being "just one fetch" — it summarizes through a
small model and produces hedge-worded, unverified output ("likely," "appears to," "suggests"), which is
the exact plausible-but-unmeasured failure this rule and research-anything-measurable-before- reasoning-about-it.md both ban. Also fires on plain grep/python/Read over local data when
Tyler asks a factual question mid-plan ("which resume went out", "how did it go") and I cannot name the
exact file AND row — 2026-09-30, four local greps, company never identified, asked during a live call.
Also fires on the literal phrases "run research," "run a background
subagent," "run this in the background" — but the phrase is not required; being in step 2 LOOP
researching anything is the trigger on its own.
The rule
The next tool call is Agent (background), not an exploratory Bash/WebFetch/Playwright/Grep
call of my own. Do not do a "quick check first" — that quick check is the exact foreground research
Tyler has corrected six times now. Multi-axis research means 4-8 parallel subagents per question by
default, not one sequential foreground attempt. When Tyler names /anthropic-skills:deep-research
specifically, that IS the required mechanism — load the skill and run its real coordinator process
(title, decomposition, parallel subagents, single report-writer), not a bare single-Agent shortcut
that still does one shallow pass. "Background" is never satisfied by dispatching to a master
(board-tracked, multi-hour) — it means an Agent call, specifically. When a foreground tool I just ran
fails or gets blocked, the fix is dispatching a subagent to solve it differently, not personally
retrying variations.
Cost when it fired
Six recurrences across the four case files (2026-09-22 ×2 within one session; 2026-09-28 ×3, two
on different plans and then AGAIN via WebFetch specifically, despite the rule already being loaded and
dated that same day; 2026-09-30 ×1, four foreground greps during a live call): each
time Tyler had to stop the work and say it explicitly, in stronger language each time — from "run
research yourself" (09-22) to "I really hate how you are doing everything in the foreground" (09-28,
first instance) to "you keep fucking doing this" (09-28, second instance) to "that research you just
ran was so fucking shit" (09-28, third instance, rule already on disk and dated that
same day). The rule surviving being loaded, dated, and still failing on the very next real research
moment is the clearest evidence yet that the trigger needed to name the specific tool (WebFetch) and
the specific required mechanism (deep-research) explicitly, rather than trusting the structural
description alone to be recognized in the moment.
Every blocker is resolved at PLANNING time. A master agent is never blocked.
Mirrored from the fleet knowledge base: _rules/resolve-blockers-at-planning-time.md
Before a recurring procedure, search my own knowledge. Re-deriving a documented answer is the tell.
Mirrored from the fleet knowledge base: _rules/search-what-i-already-know-before-re-deriving.md