The agent that built the thing cannot honestly review the thing. A second model that agrees in two seconds has told you nothing. This module teaches you when to spawn, when to cross‑check, and when to stop hiring committees and just do the work.
THE BRUTAL TRUTHThe builder reviewing its own build is not a review. It is the builder saying "yes" to itself with extra steps. And two models agreeing instantly is not verification. Disagreement is the only thing you actually learn from. Go looking for it.
When to spawn a subagent
A subagent is a worker with a clean desk (Module 01). It starts with empty context, does one job, reports back, and dies. That emptiness is the feature. Here are the four situations where you spawn one at THG. If your situation isn't one of these, you probably don't need one.
Review what you just built
The builder rationalised every choice on the way. A fresh context has no reason to.
Ask the same session "double‑check your work" and you get "Reviewed. No issues found." every time. It is grading its own homework with its own answer key. Spawn a reviewer that has never seen the reasoning, only the result.
AT THG THIS ISMain agent finishes the Sticky Piggy 2 paytable loop. You spawn: "Review table.ts for off‑by‑one errors. Report only, do not edit." The reviewer finds the <= that should be <. The builder had looked at that line four times.
Read the big thing, keep the main desk clean
Loading 200 pages into the main session spends half the desk before work starts.
Spawn a reader with the document and a precise extraction task. It returns 20 lines. Your main agent gets the 20 lines, not the 200 pages. Context hygiene (Module 06) starts here.
AT THG THIS IS"Read GLI‑19. Extract every requirement that applies to lobby RTP display. One line each, with section number. Nothing else." The main session never sees the PDF.
Parallel, independent chunks
Six jobs that don't depend on each other. Six workers. One merge.
One agent doing six language passes in series is forgetting language one by language four. Six subagents each do one, report one, and the main agent merges. Faster, and each report is uncontaminated by the others.
AT THG THIS ISRelease notes QA in EN, DE, ES, IT, PT, SV. Spawn six. Each gets the source, one target language, and the glossary. Each reports mismatches. Done in the time of one.
Anything you must check, not trust
If an operator or a regulator will read it, one answer is not enough.
Payout math, max exposure, compliance wording, anything with a number in it that will be silently wrong. Get a second answer from a second brain before Ondrej gets a first complaint from Malta.
AT THG THIS IS"Max exposure for Book of Spells 2 with the 5000× cap." Two models, same inputs, independently. If the numbers match, good, still spot‑check one. If they don't, you just found the bug before the operator did.
Spawn for fresh eyes, for a clean desk, for parallel work, and for anything that must be checked rather than trusted. That's the whole list.
Multi‑model cross‑check: gpt‑5.6‑sol + opus5
Two different models, trained by different companies, make different mistakes. That is the entire value. Here is how you do it so it actually works, and how most people do it so it doesn't.
How people do it (worthless)Get an answer from opus5. Paste it into gpt‑5.6‑sol: "What do you think of this?" gpt‑5.6‑sol says "This looks thorough and well‑reasoned." Models are agreeable. You showed the second model the first one's answer and it did what models do: agreed with what was in front of it. You paid twice for one opinion.
How you do it (works)Same brief. Same inputs. Send it to opus5 and to gpt‑5.6‑sol independently. Neither sees the other's answer. Then you compare the two outputs, line by line, looking for where they differ. Now you have two independent estimates. Where they match, you have some confidence. Where they differ, you have a to‑do item.
Disagreement is a signal. Read it correctly.
The two models give different numbers (RTP, exposure, hit frequency, a date, a price).
signal
At least one is wrong. Neither is your source of truth. Compute it by hand, in a spreadsheet, or from the math doc. Then fix the wrong one. Never average them.
One model flags a risk (compliance, edge case, security) the other never mentioned.
signal
The risk is real until you have proven it isn't. Silence from the other model is not evidence. It just didn't look there.
They interpret the spec differently and both are internally consistent.
signal
The spec is ambiguous. That's a human problem. Ask the person who owns the spec. Do not let either model pick.
Same substance, different wording, different order, different formatting.
noise
Not a disagreement. Move on. Don't spend twenty minutes reconciling synonyms.
Both agree instantly and confidently, word for word.
trap
You learned almost nothing. Agreement is not verification; both can be wrong the same way, especially on a vague brief. Spot‑check the one thing that matters against the source anyway.
When NOT to bother
Subagents cost minutes and tokens. Cross‑checks double the bill. Spawning a reviewer for a Slack message is theatre, and Ondrej sees the invoice. Use this matrix. Memorise the left column especially.
Just do it
Routine and reversible (rename, reformat, reorder)
You will read every line of the output anyway
Tests or a diff will tell you if it's wrong
Drafts you send yourself: Slack, email, notes from a meeting you attended
Cheap to redo from scratch
COST · 1× · you are the second opinion
Spawn a subagent
Reviewing something the same session built
Reading a large document for a precise extraction
Several independent jobs in parallel
Long research that would bury the main desk
COST · +minutes, +tokens · main context stays clean
Cross‑check two models
Numbers that will be silently wrong: RTP, exposure, payouts, pricing
Text an operator or regulator will read
Compliance interpretations
Anything you cannot personally verify and cannot cheaply undo
COST · 2× · disagreement is the product
The spawn brief that actually works
A subagent is only as good as its brief. "Check this" gets you "looks fine". This gets you findings. Copy it, edit the task line, keep everything else.
Spawn a subagent. Fresh context, do not share this conversation with it.
Task: review src/payout/table.ts for off-by-one errors in the 20-line paytable loop.
Inputs: that file, plus docs/math/sticky-piggy-2-paytable.md (the source of truth).
Report only. Do not edit anything. Do not ask me questions; if blocked, say what blocked you.
Format: one line per finding — file:line · what is wrong · severity (blocker/major/minor) · one-line fix.
Max 20 lines. If nothing found, say "nothing found" and list exactly what you checked.
Game 1: just do it, spawn, or cross‑check?
Ten real THG tasks. One shot each. Pick the cheapest option that is still safe. Over‑engineering is a wrong answer too.
What does this task deserve?
Score 0/0streak 0
Task 1
Game 2: spawn a subagent, watch it report back
The main agent has just finished table.ts for Sticky Piggy 2. There is a bug in it. Your job: brief a reviewer. Pick a brief, pick a mode, spawn, and watch what comes back. Try all three briefs. The difference is the lesson.
Goal: get the reviewer to find the blocker without touching the code. Bonus: find the second bug nobody knew was there.
Spawn console
Runs 0Blockers found 0
Step 1 · the brief
Step 2 · the mode
thg‑dev · main agent + subagents · sticky‑piggy‑2/table.ts
pick a brief, then press ▶ Spawn
Quiz: prove it
Five questions. You need 4 right (80%) to pass. Fail and you retake it. The progress record only stores passes.
Module 5 quiz
THE ONE THING TO REMEMBERThe builder can't review the builder: spawn fresh eyes with a report‑only brief. Two models agreeing proves nothing; two models disagreeing just showed you where the bug is. And if the task is routine and reversible, stop hiring committees and do the work.