How we compare coverage
brokenews is built to show how the same story is covered across the spectrum, using the outlets' own reporting as the input.
How spectrum labels work
Each feed starts in a curated source registry, stored internally in sources.yaml. Feeds from the same publisher share one publisher identity and spectrum label: L, LL, C, LR, or R.
Left
Lean Left
Center
Lean Right
Right
Labels are brokenews's own editorial classifications. They are not licensed third-party ratings and they are not changed automatically by a single article.
The publishers we track
Every publisher in the comparison, and where we place it. 43 publishers across the five labels. Placement is ours, reviewed against the registry, not a licensed rating.
Left
- Grist · 0.78
- Jacobin · 0.70
- Mother Jones · 0.68
- The Intercept · 0.72
- The Nation · 0.68
Lean Left
- Al Jazeera English · 0.85
- Der Spiegel International · 0.88
- Le Monde (English) · 0.88
- NBC News · 0.80
- Politico · 0.80
- The Guardian · 0.85 · 3 feeds
- The New York Times · 0.85
- The Washington Post · 0.85 · 2 feeds
- Vox · 0.80
Center
- ABC News · 0.85
- Ars Technica (Science) · 0.88
- Axios · 0.85
- BBC News · 0.90 · 2 feeds
- CNBC · 0.85
- Christian Science Monitor · 0.90
- Deutsche Welle (English) · 0.90
- France 24 (English) · 0.88
- NPR · 0.88
- Nature · 0.95
- Phys.org (Earth) · 0.90
- Scientific American · 0.90
- Sky News (World) · 0.85
- The Economist · 0.88 · 2 feeds
- The Hill · 0.78
Lean Right
- CoinDesk · 0.72
- Decrypt · 0.70
- New York Post · 0.65
- Reason · 0.75
- The Dispatch · 0.80
- The Wall Street Journal · 0.82
- Washington Examiner · 0.68
Right
- Breitbart · 0.55
- Fox Business · 0.68
- Fox News · 0.70
- National Review · 0.72
- The Daily Caller · 0.58
- The Daily Wire · 0.62
- The Washington Times · 0.65
What we consider
The registry review considers the outlet's stated editorial posture, recurring story selection, headline framing, factuality notes, and how often its coverage aligns with left, center, or right political narratives.
The label is about the outlet's overall political framing pattern, not whether one individual article is accurate or inaccurate.
How a story is analyzed
For each story cluster, brokenews groups coverage from labeled outlets, extracts grounded claims and quotes, compares framing by spectrum, and checks for blindspot patterns where one side covered or omitted material context.
The social post is generated from that structured comparison. Source URLs are shown on the public story page so readers can inspect the original articles directly.
We measure traffic with self-hosted, cookieless analytics. No ad networks, no cookies, no data sale — we can see which stories are read, not who you are.
What is automatic and what is not
A story appears on this site automatically once the pipeline's checks pass. Those checks are not a formality: a story needs coverage from more than one side, at least one source above our factuality floor, claims that are grounded in quotations we can point at, and an article draft that survives a faithfulness review against every source it came from. A failure at any of those keeps the story off the site.
Every publication and every retraction is written to a permanent internal ledger with who did it and when. Nothing is published or pulled without leaving a record.
Social posts are different. A person approves every post before it goes out, one by one.
How we write the agreed account
The article is machine-drafted only from material the pipeline has already verified: the neutral summary and its fact receipts, grounded quotations, the agreement note, source headlines, and the coverage line. The drafting model never receives stored article bodies.
“Agreed” means reported consistently across the outlets we track on that story. It never means that everyone agrees. Stories need published-ready analysis and coverage in at least two spectrum bands to qualify, and thin agreement produces a shorter article rather than padded copy.
Article audio is a machine narration of the machine-drafted article.
Before publication, every draft runs an eight-word overlap scan against the source bodies, excluding attributed grounded quotations. Matches containing source expression are recorded as advisory flags for operator review, while fact-heavy matches made of names, numerals, and function words are retained as exonerated evidence. A separate faithfulness review against every member source remains blocking, and a failure there keeps the article unpublished.
How we count owners
We count ultimate-parent legal entities. If an outlet is owned through a subsidiary, the ultimate parent is counted; separate legal companies remain separate owners.
Common control by a family trust or individual is a separate, weaker signal. It is never added to the owner count and is described as control, not ownership.
Owner records are curated with a public reference and verification date. Records older than 365 days still show their dated label, but they are excluded from story-level ownership counts and concentration claims. Missing records appear as “not yet recorded.”
Shared ownership is a fact about who owns a company, not a claim about editorial coordination. Outlets under one owner frequently disagree with each other.
Corrections and disputes
If a fact, quote, source, or spectrum label is wrong, it can be corrected. Public corrections are listed on the corrections page, and label disputes are reviewed against the outlet registry rather than decided from a single comment thread.