{"aci":{"active":true,"alpha":0.22,"empirical_coverage":0.9055,"last_updated":"2026-07-05T03:45:02.082818+00:00","n_observations":2190,"q_applied":0.35,"q_raw":0.914},"aci_alpha":0.22,"confidence":0.85,"country":"IR","country_name":"Iran","covered":true,"forecast":[{"date":"2026-07-05","day":0,"drivers":[],"risk":0.012},{"date":"2026-07-06","day":1,"drivers":[],"risk":0.016},{"date":"2026-07-07","day":2,"drivers":[],"risk":0.015},{"date":"2026-07-08","day":3,"drivers":[],"risk":0.021},{"date":"2026-07-09","day":4,"drivers":[],"risk":0.025},{"date":"2026-07-10","day":5,"drivers":[],"risk":0.011},{"date":"2026-07-11","day":6,"drivers":[],"risk":0.03},{"date":"2026-07-12","day":7,"drivers":[],"risk":0.045}],"forecast_trajectory_note":"summary.max_risk is now the independently-validated honest 7-day event probability. The per-day forecast[] trajectory is the legacy v1 illustrative shape (NOT independently validated) — use honest_forecast for the headline; the v1 value is kept as max_risk_v1_leaky.","generated_at":"2026-07-05T15:52:02.766981","honest_caveat":{"confidence_is":"fixed in-sample model confidence, NOT a per-forecast calibrated probability","correct_use":"Use for cross-country RISK RANKING, not precise within-country day-of-shutdown timing.","headline_auc_note":"Training ROC AUC 0.954 came from a RANDOM stratified split (consecutive country-days in an incident window are near-duplicates, inflating it). No target leakage: features use [date-7,date], label uses [date+1,date+7].","honest_temporal_holdout_auc":"~0.85-0.90 (dual-holdout temporal gate)","live_forward_accountability":["GET /v1/sentinel/accuracy (rolling 30-day precision/recall; currently self-reported degraded)","GET /v1/forecast/onset-skill (honest onset / forward skill)"],"source":"ML_LEAKAGE_AUDIT.md (forecast v1/7day row)."},"honest_forecast":{"as_of":"2026-07-04","flag":false,"is_headline_source":true,"probability":0.4839,"recommended_threshold":0.65,"risk_band":"watch","semantics":"probability of a censorship/connectivity EVENT in the next 7 days (country-relative z-score label)","validation":"Independent OONI-grounded + leakage-free. Rolling-origin AUC ~0.815, PR-AUC ~0.29; beats persistence/climatology in all 9 temporal folds; LOCO beats persistence 49/51 countries. See /v1/forecast/honest/info."},"interval_90":[0,0.39499999999999996],"model_version":"honest_forecast_v1","summary":{"avg_risk":0.022,"key_drivers":[],"max_risk":0.4839,"max_risk_day":7,"max_risk_v1_leaky":0.045},"top_features":[{"contribution":-0.021,"direction":"down","name":"gdelt_unrest_30d","source":"model"},{"contribution":0.0069,"direction":"up","name":"risk_tier","source":"model"},{"contribution":-0.0051,"direction":"down","name":"month","source":"model"}],"top_features_per_day":[{"base_prob":0,"date":"2026-07-05","day":0,"risk":0.012,"top_features":[{"contribution":-0.021,"direction":"down","name":"gdelt_unrest_30d","source":"model"},{"contribution":0.0069,"direction":"up","name":"risk_tier","source":"model"},{"contribution":-0.0051,"direction":"down","name":"month","source":"model"}]},{"base_prob":0,"date":"2026-07-06","day":1,"risk":0.016,"top_features":[{"contribution":-0.021,"direction":"down","name":"gdelt_unrest_30d","source":"model"},{"contribution":0.0069,"direction":"up","name":"risk_tier","source":"model"},{"contribution":-0.0051,"direction":"down","name":"month","source":"model"}]},{"base_prob":0,"date":"2026-07-07","day":2,"risk":0.015,"top_features":[{"contribution":-0.021,"direction":"down","name":"gdelt_unrest_30d","source":"model"},{"contribution":0.01,"direction":"up","name":"day_decay_t+2","source":"overlay"},{"contribution":0.0069,"direction":"up","name":"risk_tier","source":"model"}]},{"base_prob":0,"date":"2026-07-08","day":3,"risk":0.021,"top_features":[{"contribution":-0.021,"direction":"down","name":"gdelt_unrest_30d","source":"model"},{"contribution":0.015,"direction":"up","name":"day_decay_t+3","source":"overlay"},{"contribution":0.0069,"direction":"up","name":"risk_tier","source":"model"}]},{"base_prob":0,"date":"2026-07-09","day":4,"risk":0.025,"top_features":[{"contribution":-0.021,"direction":"down","name":"gdelt_unrest_30d","source":"model"},{"contribution":0.02,"direction":"up","name":"day_decay_t+4","source":"overlay"},{"contribution":0.0069,"direction":"up","name":"risk_tier","source":"model"}]},{"base_prob":0,"date":"2026-07-10","day":5,"risk":0.011,"top_features":[{"contribution":0.025,"direction":"up","name":"day_decay_t+5","source":"overlay"},{"contribution":-0.021,"direction":"down","name":"gdelt_unrest_30d","source":"model"},{"contribution":0.0069,"direction":"up","name":"risk_tier","source":"model"}]},{"base_prob":0,"date":"2026-07-11","day":6,"risk":0.03,"top_features":[{"contribution":0.03,"direction":"up","name":"day_decay_t+6","source":"overlay"},{"contribution":-0.021,"direction":"down","name":"gdelt_unrest_30d","source":"model"},{"contribution":0.0069,"direction":"up","name":"risk_tier","source":"model"}]},{"base_prob":0,"date":"2026-07-12","day":7,"risk":0.045,"top_features":[{"contribution":0.035,"direction":"up","name":"day_decay_t+7","source":"overlay"},{"contribution":-0.021,"direction":"down","name":"gdelt_unrest_30d","source":"model"},{"contribution":0.0069,"direction":"up","name":"risk_tier","source":"model"}]}],"_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."}}