Skip to main content

Research and verification discipline · Autonomous Technologies

How we fact check every line of our cold email research

Our own outreach research system. Every fact we put in front of a stranger carries a URL and a quote that a re-fetch still finds, and copy built on a rejected fact cannot be approved.

Six-stage pipeline: source, research, verify, synthesize, write, gate, with rejected claims dropping out at verify and gate
Claims leave the pipeline at two points, never repaired: at verify when a re-fetch cannot load the page or cannot find the quote, and at the gate when copy leans on a fact a person rejected.
Integrations & Custom Systems5 minute readBy Rizwan QaiserRead the case study

Stop fact checking cold email research by hand

You send a note saying a founder launched a subscription app this summer. She launched it two years ago. She deletes your email, and from that day on your team rereads every line before anything ships

We had that exact problem with our own outreach at Autonomous Technologies, a Shopify systems agency. So we built a research process where code checks every fact before a person sees the note. Between 18 and 20 September 2026 it researched 30 companies, taking a median of 11 minutes each. Along the way, it stopped 193 of 1,850 quotes that failed a live recheck.

From the run records, 18 to 20 September 2026: one in ten quotes failed the re-fetch and was held back before any copy was written.
What we countedFigurePeriod
Real companies researched30, and 29 reached a passing copy gate18 to 20 Sep 2026
Quotes re-fetched and checked1,850, of which 193 failed (about 10%)18 to 20 Sep 2026
Research time per companymedian 11 minutes; 27 minutes for the full pass18 to 20 Sep 2026
Automated tests passing832 of 832run 23 Sep 2026
From the run records, 18 to 20 September 2026: one in ten quotes failed the re-fetch and was held back before any copy was written.

Research you can't check is research you'll end up redoing

Everyone's seen the cold email with the "personalised" first line. It sounds sure of itself. Ask where the fact came from, though, and nobody knows. So someone rereads every line against the store before it goes out, and there goes the time you saved.

Our first version, on 3 September, already rechecked every quote. It still had a hole. Nothing confirmed that a paragraph said what its quotes said, so a perfectly real quote could sit right next to a made up number. We plugged that with a second read, scheduled by hand. Meanwhile, seven stages were wired together manually and ten sourcing scripts shared no code at all. Not pretty.

The rule underneath all of it hasn't changed since day one. A claim is one fact about a company, saved as a web address plus a quote of at least 40 characters, copied word for word. A recheck means downloading that page again later and searching it for the exact quote. The research step isn't allowed to mark its own homework. Only the verify step can do that, and only by rechecking.

A quote that no longer matches the page is marked unverified and left alone. The system never trims it until it fits, because that would be the system agreeing with itself.

Six stages, two of which only exist to say no

The pipeline takes one company at a time through six stages:

  1. Source finds the company and the right person to contact.
  2. Research collects what the founder says in public, what customers say, recent news and the tools the store runs.
  3. Verify rechecks every quote.
  4. Synthesize turns whatever claims survive into a short brief: the company's situation, its pressures, ranked angles and what we still don't know.
  5. Write drafts a short note.
  6. The gate, our final automated check, can refuse that note outright.

Verify is plain code. There's no judgment in it. It fetches each page once per run, cleans up the text so it can be compared, and asks one question: is the quote still there? Market trends always get rechecked. The only facts that skip the fetch come from mechanical page checks, like which scripts a store loads.

The gate compares the writing to its sources. Any number in the note has to show up in a quote the note cites, and every paragraph needs at least one sentence backed by one of those quotes. We tested it on 19 September 2026 across 17 researched companies. With the notes left alone, it held none of them. Then we slipped an invented figure into each note, and it caught all 17. We tried again with a plausible paragraph about a different industry, and it caught 16 of 17.

If a person rejects a claim, any copy that cites it goes stale. Stale copy cannot be approved and cannot be loaded, even if it was approved yesterday.

What we built, and who owns each step

Rizwan, our founder, built the engine between 3 and 20 September 2026, and he's the author of record on every commit. Those six stages are made up of 21 smaller parts. At each one, plain code decides pass or fail, so nothing rides on a guess.

The newest stage went in on 20 September. It picks one angle from the verified ones and writes no copy. When it can't choose with confidence, the company waits for a person rather than getting a best guess.

Hira runs our outreach. For each company, she gets a company brief and a LinkedIn brief. Rizwan approves or rejects individual claims and signs off on the note before it's loaded, then Hira takes it from there. The engine never sends a thing by itself.

Rizwan, founder of Autonomous Technologies, who built the prospect research engine.
[CORRECTED: was 'Rizwan, founder, wrote all 82 commits.'] Rizwan, founder, is the author of record on all 82 commits. The engine's rule: a fact the reader cannot check does not go in the email, however good it sounds.
What changed between the first version and the gated version of 20 September 2026. Reply outcomes are not published.
What we measuredBefore 19 Sep 2026From 20 Sep 2026
Check that a paragraph matches its quotesa second read, scheduled by handthe gate, on every write and every load
Choosing the angle for a notethe writer's own picka separate choice step that holds for a person when unsure
Structure7 hand-wired stages, 10 unshared scripts21 parts, 43 schemas, 832 passing tests
Running cost per companyUSD 5 to 8, runbook, 3 Sep 2026; USD 4 to 8, runbook, 18 Sep 2026not yet measured [CORRECTED: was "USD 4 to 8, runbook, 18 Sep 2026"]
Replies and booked callsnot publishednot published
What changed between the first version and the gated version of 20 September 2026. Reply outcomes are not published.

What we'd change, and who this is actually for

Every source that can fail should say so, loudly, from day one. Before we added a fallback, running out of search credits produced runs with zero claims and not a single error. We'd also log cost per company from the start. Today that figure comes from measuring by hand, not from the run records.

Some claims will never pass. Reddit blocks our fetches, so anything sourced there drops out at verify, true or not. We're fine with that. If you can't show a stranger where a fact came from, it isn't worth sending.

This is for you if your team burns hours rechecking research before it goes out. It works for anyone sending research or reports to people who'll check them, whether that's prospects, clients or a board. If you want more emails out this week, look elsewhere. This makes fewer, better claims, one company at a time.

Questions and answers

What does "a re-fetch still finds the quote" mean?

A re-fetch downloads each cited page again and searches it for the exact quote. If the quote is gone or the page will not load, Autonomous Technologies cannot use that claim in any email.

Who decides whether a claim is true?

Plain code decides, not the writer: the quote must still be on the page, and every number in the note must appear in a quote the note cites.

How long does one company take?

Across 30 companies from 18 to 20 September 2026, research took a median of 11 minutes per company. The full pass, from first page check to checked copy, took a median of 27 minutes.

Can it send email on its own?

No. The engine writes files, and a person at Autonomous Technologies approves the claims, the copy and what is sent.

Can you build this discipline into our reports or research?

Yes, anywhere a sentence must trace back to a page. Code holds the source check, so your people spend their time on judgment instead of re-reading.

Loading page