Every layer catches the one before
On my deep-research engine's first real run, research got prices wrong and verification killed them; drafting added new errors and review caught those. The layering is what made the output publishable.
A multi-model research pipeline's first end-to-end job: three research systems working blind to each other, a verification layer that fetches every cited source live, a drafting stage, an editorial review, and a human gate. Research produced three wrong figures; verification killed them. Drafting introduced two new errors; review caught those. No stage was clean — the layering is what shipped a guide I could stand behind.
The first real job I gave my deep-research engine was pricing research for a consumer guide: what a wood-fired sauna actually costs in the UK. Prices are a good first test. They are checkable against live supplier pages, they go stale quickly, and a wrong one does real harm — a reader budgets against it.
The engine's shape is simple to describe. I write a research spec and approve it; that gate is not ceremony, because the spec is where scope mistakes are cheapest to fix. The spec then fans out to three research systems that work blind to each other: a set of Claude research agents, Perplexity's deep-research model, and OpenAI's. Their output is normalised into a single stream of claims, each carrying its citations. Then the layer the whole thing exists for: verification agents take every material claim — twenty-four of them on this run — and fetch every cited page live. The question each agent answers is narrow: does the page this claim cites actually say this, today?
Three models instead of one is not about volume. It is about disagreement. When two systems return different figures for the same supplier, the disagreement itself is information — it forces a primary-source check that a single model, reading its own work back, would never trigger. Convergence is weak evidence of truth; divergence is strong evidence that something needs checking.
The verification layer killed three claims on this run. A supplier's flagship cabin came back at £14,999; the live page says £24,999 — a £10,000 error that would have sat in a table looking authoritative. A mobile sauna figure of £15,000 turned out to be years stale; current published guide prices for that class start at £33,000 ex VAT. And one price was a currency conversion presented as a UK list price — a number no supplier ever printed.
All three read plausibly. None survived a live fetch.
One limit worth stating plainly: this check is claim-against-source, not source-against-reality. If a supplier's own page carries a wrong number, the pipeline will faithfully verify the wrong number. What it removes is the layer of error the research process itself adds — stale figures, conflations, invented derivations — which, on the evidence of this run, is a substantial layer.
The same verification pass did quieter work too. The guide's building-regulations section rests on an exemption that trade sources mostly don't mention — the installer body's own FAQ omits it. So the claim was verified against the legislation text itself: Schedule 2, Class 6 of the Building Regulations 2010, and regulation 9(1)(b). Where a claim is load-bearing, the check goes to the primary source, not to whoever summarised it most confidently. Verification also surfaced the guide's most useful consumer finding almost as a by-product: a "wood-fired sauna" price does not reliably include the stove — some suppliers charge up to £2,499 more for it — and that became the warning the whole guide opens with.
Then the part I find most instructive. The guide was drafted from verified claims only; nothing the verification layer hadn't passed was allowed in. The draft still contained errors. The editorial review that runs before anything publishes caught two: a self-build total overstated by about £1,000, and a VAT figure labelled wrongly. Neither error existed anywhere in the verified findings. The drafting stage manufactured them — in the arithmetic and the labelling, the acts of writing itself.
Every stage that transforms information damages some of it. That is what this run demonstrated end to end: research fabricates and goes stale; drafting mis-adds and mislabels; and if I added a stage after review, I would expect review to turn out to have failure modes of its own. The score sheet: research produced three bad figures, verification killed all three; drafting produced two new errors, review caught both. No layer was clean. No layer's errors reached the reader. The pipeline's quality doesn't come from any stage being trustworthy — it comes from every stage being followed by one that assumes it wasn't.
The last layer is me, at the publish gate, and there is no net after that one. Which is exactly why the layers before it exist: by the time a draft reaches me, the twenty-four claims have been fetched, the killed ones are logged with what the live source actually said, and my job is a judgement call on a small, checkable surface rather than a re-research of the whole thing. The guide is live; the audit trail of what was killed, and why, stays with the run.