The first pass over a finished script is a plain pattern match, with no model involved at all. Every sentence carrying a number, a percentage, an amount of money, a date, a comparison of size or direction, or the name of an organisation is pulled out as a claim that needs a source. It has no opinion about which of those sentences look risky, and that is the point: the sentences a model is most confidently wrong about are exactly the ones it would not volunteer.
A second pass, one paragraph at a time, picks up the factual assertions a pattern cannot see — a causal statement carrying no figure, for instance. The two lists are merged, so a sentence caught by both becomes one claim rather than two.
Neither pass is a promise of completeness, and it would be a strange page that claimed one here. The pattern pass is mechanical and cannot decline to pull a sentence out; the second reads each paragraph and can come back with nothing, and when it does, an assertion only it would have caught never becomes a claim — so there is nothing to check and nothing to flag. Everything below describes what happens to the claims these two passes do find.
By default, each claim is checked against the text captured for that episode
When an episode is researched, the pages it draws on are not just linked. The text is captured and stored with the episode — whole pages rather than opening paragraphs, so that a paper’s results table is still there to be checked against and not only its abstract. The check runs against that stored text. It is not a second opinion on whether a sentence sounds plausible, and it is not a model being asked whether it remembers the study correctly.
That has a consequence worth stating plainly: a claim with nothing captured to check it against is flagged, not waved through. If the sentence cites nothing, or cites something the research never managed to capture, it comes out of the process unsupported and stays that way until a person decides what to do with it. On a real episode this is the most common flag of all, and it is the behaviour we want — the bias runs towards stopping, not towards shipping.
Two independent checks, and disagreement counts against the claim
Every claim that is checked is checked twice, separately, by two systems that do not see each other’s answer. Each one has to point at the specific passage in the captured source that settles the claim — a quote, not a verdict — and that quote is confirmed to actually appear in the document before the judgement counts for anything.
If the two disagree, the claim is flagged. There is no casting vote and no third opinion brought in to break the tie: two checks reaching different conclusions about the same sentence is itself the finding, and it goes to a person.
Where the support comes from decides whether it counts
A report about a study is not the study. Sources are sorted, as they are captured, into those that are the primary record of something — a journal, a registry, a government or institutional publication — and everything else. A claim passes on the strength of the check alone only when one of the two can quote a primary source supporting it. Support that exists only in someone’s write-up is flagged for a person to look at, even when both checks agree the write-up says what the script says it says.
It is also why the research step goes looking for primary sources rather than hoping one turns up: a separate search runs against primary publishers alone, and places are held in the episode’s sources for what it finds, so a journal article cannot be crowded out by faster-moving coverage of it.
The lists themselves, publisher by publisher →
A sentence crediting a publisher we never read is flagged too
Attribution is checked as well as arithmetic. If a script says a named organisation reported something, and nothing that organisation published is in the episode’s research at all, that sentence is flagged even when the underlying number is correct. Borrowed authority is its own kind of wrong, and it is the kind a listener is least able to catch.
A flagged episode cannot be narrated
Flags are not a report somebody might read. Any unresolved flag — contradicted, unsupported, disagreed over, credited to a source we do not hold — blocks narration outright: the request to narrate is refused, and the interface offers no override. A person clears each one by accepting the sentence as it stands, rewriting it to match what the source actually supports, or cutting it.
Clearing a flag that way is a person’s decision recorded against the claim — who cleared it and when — and the replacement they write is theirs: the two checks do not run again over it. That is deliberate rather than an oversight. A resolution is bounded to the sentence it resolves, and treating each one as a fresh edit would restart verification of the whole script after every flag and never converge. What stands behind a rewritten sentence here is the person who wrote it, which is why the record keeps their name against it.
Editing the script freely afterwards is the other case, and there the earlier verdicts do not stand: a general edit puts the whole claim set back in question and the check runs again before narration is allowed. So an episode cannot be narrated on the strength of a check that ran against an older draft.
What ends up on the episode page
A published episode states how many of its factual claims were checked against their cited sources, next to the list of those sources and the full transcript. That line comes from the check that actually ran on that episode, not from the fact that we have a process — and when a run verified too little of the script for the number to mean anything, the line is absent rather than optimistic.