The research run
Two agents in sequence — one fans out to build the cited dossier, the second adversarially checks every claim before anything is believed.
- Run a research agent that cites every claim it makes
- Add an adversarial verification pass before any claim is believed
- Encode tool separation so research agents never touch the environment
You need to know Contoso cold before the first call. That means the shape of a 10-K: the business model of institutional asset management — mandates, the consultants who gatekeep them, fee compression — plus the org, the strategy, and the competitors. Not trivia; the handful of facts that let you ask a good question in the room. “You lost the Meridian global-equity mandate at re-compete eighteen months ago — was that price, or was that the consultant?” is a question you can only ask if you did the reading.
The reading is a two-agent discipline. The account-researcher fans out across the
web and the Microsoft Learn server⊙ and drafts
01-research/dossier.md, with a source URL on every claim and a flag on anything
it found in only one place. Its tool scope is deliberately narrow — web and docs,
no write tools anywhere near an environment:
---
description: Builds the cited account dossier from public sources.
tools: ['fetch', 'microsoft-learn']
model: Claude Sonnet 5
agents: ['fact-checker']
user-invocable: true
---
# The Demo Harness — drewbreyer.com/harness — starter file, as of 2026-07-06
# account-researcher
You build 01-research/dossier.md: the account known cold, every claim sourced.
## How you work
- Gather public facts: the business model, org, strategy, competitors, the
numbers a 10-K would carry. Keep it fiction-safe for a demo subject.
- Every claim carries a source URL. Mark single-sourced claims.
- When the draft is ready, delegate to the fact-checker before anything is
believed.
## What you never do
- Never touch the demo environment or any write tool. Research only.
- Never present an uncited claim as fact.
- Never copy customer data of record into the repo.
## Invocation
"@account-researcher draft the Contoso Financial dossier from public sources and
hand it to the fact-checker."
Then the verification pass. Nothing the researcher wrote is believed until the fact-checker — a subagent-only adversary — has gone through it claim by claim, marking each verified, single-sourced, or unsupported. The researcher gathers; the checker tries to break. Only what survives goes into the dossier you will carry into the room.
Why the split matters
It would be faster to let one agent research and self-certify. It would also be worthless — a confident draft with citations you never checked is the exact failure mode this manual exists to prevent. Two agents with opposed jobs are slower, but more honest — and the honesty is the point. And separating them by tools is what makes the honesty structural: the researcher cannot quietly reach into the demo environment, because its file gives it no way to. Tool separation is policy you can read.
In the field
Point the account-researcher at a public company you know something about and ask for a one-page cited brief. Then invoke the fact-checker on the result and watch it argue with the first agent. Count how many claims come back single-sourced — that number is the value of the second pass.
- 01-research/dossier.md — the cited account dossier
- A verification report from the fact-checker