India Geopolitical Risk Monitor

Break this index

A measurement instrument that cannot state what would prove it wrong is an opinion with charts. This page is IGRM's standing invitation: here is exactly what would falsify it, here are the tools to try, and here is the promise — serious submissions publish on this site unedited, with a response, whether or not we survive them. Finding a real error earns a permanent entry in the corrections ledger, which is the point of having one.

What would falsify it

1. Non-reproducibility

Claim: every published number is a deterministic function of the committed raw data.

Break it: clone the repo, run scripts/reproduce.sh --use-cache (~5 minutes, no credentials), and produce a diff outside the documented tolerances. The procedure and every tolerance's reason: REPLICATION.md.

2. Post-hoc tuning

Claim: every dictionary, threshold, weight, and episode list was registered before the numbers it produces were seen; every change since is a dated, append-only amendment.

Break it: the entire history is public git. Find one construct choice whose registration postdates the result it favors, or one amendment that rewrote rather than appended.

3. The validation record is cherry-picked

Claim: the hit-rate is computed against a pre-registered episode list (n=21), frozen before grading, misses counted forever.

Break it: propose an episode set we should have detected and did not — or show the frozen list was curated to flatter. The registered list, criteria, and exclusions are in validation/ with full history.

4. The numbers don't mean what the pages say

Claim: every statistic named on any page exists in a published payload, and every payload field is documented in the codebook.

Break it: find one page-claimed number absent from its payload (CI enforces this; beating our own test is a finding), or one receipts article whose text does not match the registered phrase that claims it.

5. The uncertainty is theater

Claim: the sampling bands are honest Wilson 95% intervals passed through the identical transform as the point values, and moves inside overlapping bands are called indistinguishable on the front page.

Break it: recompute a band from the committed day-cache and get a different interval, or catch the site narrating a within-band move as real.

6. It's a GDELT artifact

Claim: the signal is not an artifact of one substrate's quirks; drift is measured and published, and cross-source agreement is checked against an independent demand-side series.

Break it: replicate a channel on an independent corpus and show the series disagree where ours claims signal (this is exactly the Media Cloud study on our own roadmap — doing it first, and better, would be a genuine contribution).

How to submit

Open a GitHub issue with the adversarial-review template: start one here. State the claim you are attacking, your method, and your result. Anonymous submissions are fine. What qualifies as "serious": anything with a runnable method — code, a diff, a dated episode list, a reproducible query. What doesn't: vibes.

The promise, restated: submissions and their outcomes publish here unedited. A confirmed break goes in the corrections ledger permanently. Nothing on this page is ever softened after the fact — this paragraph included.