In March 2026, US and Israeli forces struck Iran. 106 articles from 46 countries — newspapers, broadcasts, podcasts, and YouTube — described what happened. They did not describe the same event.
We ran each article through three independent language models — Qwen 3, Gemma 3, and Mistral Small — and asked them to classify the framing. Out of 106 articles, only 2 produced unanimous agreement.
When three models trained on different data, by different teams, in different countries can only agree 1.9% of the time — the disagreement is the finding.
This isn't a flaw in the models. It's a measurement of how genuinely ambiguous geopolitical framing is. The same sentence, read by architectures trained on different slices of human text, produces different readings — because the framing itself is doing work that resists stable classification.
Five epistemic clusters emerged from the corpus. Not assigned — discovered. Each represents a genuinely different understanding of what happened and why. Stated here as first-person beliefs, because that's what framing is.
37 articles did not cluster — their framing was too ambiguous or hybrid to assign. 4 singletons (advertising ethics, Australia as cautionary voice, Pakistan nuclear energy, one empty) are excluded.
Each dot is an article. X-axis: political position (endorsement → opposition). Y-axis: epistemic register (state-aligned → independent). Color: council confidence level.
After mapping what was said, we asked: what positions exist in the logical space of this event but appear in zero articles? Some are genuinely absent. Some are unspeakable.
These positions are logically coherent but structurally unpublishable in mainstream media:
People directly affected by this event who were quoted by zero outlets:
Across 486 actor-framing instances, we extracted every sanitizing term (softening language) and condemnatory term (sharpening language) applied to each major actor. The asymmetry tells you who the global media ecosystem treats as the protagonist and who as the threat.
Iran receives 3x more condemnatory language than sanitizing. The US gets nearly balanced treatment. Israel lands in between. The global media consensus — measured by word choice, not editorial opinion — treats Iran as the destabilizer and the US as a complex actor with legitimate motives.
A presupposition is a claim that a sentence treats as already settled — not argued for, just assumed. We extracted 87 of them across 15 high-ambiguity articles. The BBC alone contributed 10, several of which contradict each other within the same piece.
The BBC finding is striking: 10 presuppositions in a single article, several structurally contradictory. The same piece assumes both that Iran is an irrational actor and that deterrence (which requires rational calculation) will work. This isn't bias — it's the texture of how complex events get compressed into narrative.
Across the entire corpus, we counted every direct quote attributed to an identifiable actor. The asymmetry is not subtle.
US and Israeli officials are quoted 5.7x more than Iranian officials across global media — including media in countries opposed to the strikes. When the world reports on a US-Iran conflict, it overwhelmingly uses American and Israeli voices to tell the story, even when the editorial position is critical.
Gold = covered. Dark = absent. The Middle East — the region most directly affected — has the lowest coverage ratio at 36%. Southeast Asia, Latin America, and Central Asia are nearly silent.
Hindi, Bengali, Japanese, Turkish, Vietnamese, Thai, Swahili, Hausa, Yoruba, Amharic
Central Asia 14% · Southeast Asia 17% · Latin America 20% · Africa 27% · Middle East 36%
106 articles were collected via GDELT API, curated RSS feeds, YouTube channels, and podcast RSS from outlets across 46 countries. Non-English articles (42 of 106, in 18 languages) were translated using Helsinki-NLP and NLLB-200 models running locally. 11 oral sources — 9 YouTube broadcasts and 2 podcast episodes — were transcribed using faster-whisper large-v3 on GPU, adding 222 minutes of audio analysis to the corpus.
Each article was analyzed by a three-model LLM council — Qwen 3 32B (Alibaba), Gemma 3 27B (Google), and Mistral Small 3.1 24B (Mistral) — running sequentially on two TITAN RTX GPUs via llama.cpp. Models were given no predefined categories. Clustering emerged from the corpus, not from the researchers.
Presupposition extraction used targeted analysis of 15 high-ambiguity articles selected by council disagreement scores. Vocabulary asymmetry was measured across 486 actor-framing instances. Quote attribution was counted from syntactic feature extraction.
No external APIs were used. All inference ran on local hardware. The source corpus, analytical outputs, and council verdicts are preserved as an immutable research record.
Sources: 61 GDELT-discovered + 37 curated flagships + 5 UN transcripts + 3 state wires + 9 YouTube (Whisper) + 2 podcasts (Whisper) = 106
Pipeline: GDELT + curated RSS + YouTube + podcast RSS → trafilatura / faster-whisper extraction → Helsinki-NLP / NLLB-200 translation → 3-model LLM council → emergent clustering → absence analysis
Infrastructure: nitrogen (pipeline orchestration) + boron (2× TITAN RTX 48GB, LLM inference)
Models: qwen3-32b-q4km · gemma-3-27b-it-Q4_K_M · mistral-small-3.1-24b-Q4_K_M
Built by The Beakers