Sign in

Saves your history across devices. The tools work without an account either way.

Forgot your password?

The harder case

The earnings story on the homepage is the easy one. The outlets agreed on the numbers, and the finding that mattered sat inside a single article where anyone could check it in thirty seconds. This is a report on a contested political primary, where five outlets agreed on the result and disagreed about which story it was.

Five outlets, one result, three stories

NBC News, Al Jazeera, Fox News, the Associated Press and the Detroit Free Press covered the Michigan Democratic Senate primary called on 5 August 2026. All five agreed on who won. The divergence was in which story it was: evidence about progressive viability, a defeat for AIPAC, or a Republican opportunity.

The report describes what each outlet foregrounded and what it left out. It does not rate the outlets, and it does not place them on a spectrum.

  • More than $80 million was spent on the primary overall.

    The Detroit Free Press said the exact amount spent by campaigns and outside allies was not yet known.

  • Stevens and her allies outspent El-Sayed and his allies on advertising by about nine to one.

    Fox News quoted El-Sayed putting the same disparity at eleven to one.

A finding the method threw out

The most useful thing in this report is something that did not make it into the report.

The five articles’ last-updated times spanned 12.7 hours. Later statements, advertising commitments and unity plans were missing from the earliest filings, because those articles had stopped updating before the material existed. Every one of those absences was dropped rather than counted against the outlet that filed first.

The timing check runs before the finding, so an absence with a scheduling explanation never reaches a report at all.

What had to be true before a finding appeared

  • It reproduced across two independent passes

    The whole analysis runs twice. A finding that appears in one pass and not the other is reported as unstable rather than presented as a result.

  • Filing times were checked first

    Every article’s first-published and last-updated timestamps are recorded. An absence explained by when an outlet filed is excluded, not counted as an omission.

  • Several outlets had to carry the claim

    A gap counts only where other outlets reported the same fact. One outlet mentioning something the others did not is a difference in emphasis, not a coverage gap.

  • Every quote was checked against the source

    Quotes are verified against the original article text before they reach a report, so nothing is attributed to the wrong outlet.

Bring a story you already know well

The fastest way to judge this is on coverage you have read closely enough to argue with. Bring one and we will go through what it finds.