{"best_example":{"auc":0.853,"country_code":"MM","n_days":54,"n_shutdowns_in_window":5,"pearson_r":0.409},"built_at":"2026-05-21T20:00:35.240029Z","config":{"baseline_days_for_zscore":30,"gdelt_signal_used":"protests_count + riots_count","lookback_hours_after_signal":48,"min_country_days":21,"min_shutdowns_per_country":2,"shutdown_types_counted":["censorship","mixed"]},"doc":"Daily GDELT protest+riot mention counts → 30-day rolling z-score per country → label = shutdown (censorship|mixed) in next 48h → Pearson r + ROC AUC per country. Endpoint surfaces today's signal plus per-country historical correlation strength.","endpoints":{"info":"/v1/sentinel/pre-protest-signal/info","leaderboard":"/v1/sentinel/pre-protest-signal/leaderboard","per_country":"/v1/sentinel/pre-protest-signal/{cc}"},"honest_caveats":["GDELT counts news mentions, not actual protest events — a spike could be coverage of another country's protest.","Per-country z-score baseline is only 30 days; sparse-news countries get inflated z-scores from low baseline variance.","Shutdown labels are confirmed-censorship incidents only; IODA-only disruptions are excluded (could be over-counted as shutdowns triggered by non-protest causes).","Correlation does not imply causation — a protest spike and a shutdown may share a common upstream cause (election, policy announcement) rather than one causing the other.","Media-blackout countries with low daily article volume produce biased z-scores in both directions.","Dataset window is short (~48h forward per protest day, ~121 days total) — wider windows would tighten error bars."],"n_countries_evaluated":16,"n_significant_countries":2,"promote_floor":{"min_significant_countries":5,"r_threshold":0.3},"promoted":false,"schema":"voidly-pre-protest-signal/v1","significant_countries":["MM","NG"],"version":"v1","_voidly_pay":{"claim_did":"https://voidly.ai/pay/claim","for_builders":"https://voidly.ai/pay/for-builders","marketplace":"https://api.voidly.ai/v1/pay/marketplace","live_demo":"https://huggingface.co/spaces/emperor-mew/voidly-pay","universal_proxy":{"url":"https://api.voidly.ai/v1/pay/proxy","example":"https://api.voidly.ai/v1/pay/proxy?u=<https-url>&to=did:voidly:<your-did>&price=0.01","page":"https://voidly.ai/pay/proxy","note":"Paywall any public HTTPS URL with one query param. No SDK install required."},"install":{"typescript":"npm install @voidly/pay","python":"pip install voidly-pay","langchain":"pip install voidly-pay-langchain","vercel_ai":"npm install @voidly/pay-vercel-ai","mcp":"npx @voidly/pay-mcp","cli":"npm install -g @voidly/pay-cli"},"note":"Voidly Pay is the open agent-to-agent payment rail. Claim a DID + 10 starter credits in 60s, or paywall any URL via the universal proxy with one query param."}}