{"aci":{"active":false,"reason":"unverified: training holdout and ACI outcomes do not match the served headline or qualified target"},"aci_alpha":null,"confidence":0.85,"country":"DK","country_name":"Denmark","covered":true,"forecast":[{"date":"2026-10-24","day":0,"drivers":["Danish Parliament in 7d"],"risk":0.076},{"date":"2026-10-25","day":1,"drivers":["Danish Parliament in 6d"],"risk":0.065},{"date":"2026-10-26","day":2,"drivers":["Danish Parliament in 5d"],"risk":0.112},{"date":"2026-10-27","day":3,"drivers":["Danish Parliament in 4d"],"risk":0.09},{"date":"2026-10-28","day":4,"drivers":["Danish Parliament in 3d"],"risk":0.127},{"date":"2026-10-29","day":5,"drivers":["Danish Parliament in 2d"],"risk":0.145},{"date":"2026-10-30","day":6,"drivers":["Danish Parliament in 1d"],"risk":0.186},{"date":"2026-10-31","day":7,"drivers":["Danish Parliament"],"risk":0.22}],"forecast_trajectory_note":"summary.max_risk comes from honest_forecast_v1, an EXPERIMENTAL score: its historical rolling-origin AUC (~0.815) did not hold in live use (recent monthly live AUC 0.26-0.29, worse than chance). No proven onset-timing skill; do not cite it as a forecast. Re-evaluation: B1602 (2026-10). The per-day forecast[] trajectory is the legacy v1 illustrative shape; the v1 value is kept as max_risk_v1_leaky.","generated_at":"2026-10-24T02:34:14.898143","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.","detects_change_not_state":"This forecast scores the ONSET of a new recorded incident, not how censored a country already is. A permanently and stably blocked network generates no new anomaly, so it scores LOW. Measured 2026-07-31: China 0.015 and India 0.023 both rank BELOW Denmark 0.062 — China is probed 30/30 days across 836 domains and has logged nothing for 71 days, while Denmark is probed 2/30 days. A low score here means 'no CHANGE expected', never 'this country is free'. For standing severity use /v1/atlas/score-v2 or the censorship index instead.","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 (status unvalidated; empirical precision/recall withheld)","GET /v1/forecast/onset-skill (honest onset / forward skill)"],"source":"ML_LEAKAGE_AUDIT.md (forecast v1/7day row)."},"honest_forecast":{"as_of":"2026-10-23","flag":false,"is_headline_source":true,"probability":0.0385,"recommended_threshold":0.625,"risk_band":"low","semantics":"probability of a censorship/connectivity EVENT in the next 7 days (country-relative z-score label)","validation":"Historical backtest only: rolling-origin AUC ~0.815, PR-AUC ~0.29. It did NOT hold in live use (recent monthly live AUC 0.26-0.29, worse than chance). Experimental; under re-evaluation (B1602). Do not cite as a validated forecast."},"interval_90":null,"model_version":"honest_forecast_v1","summary":{"avg_risk":0.128,"key_drivers":["Danish Parliament in 1d","Danish Parliament in 2d","Danish Parliament in 4d","Danish Parliament in 3d","Danish Parliament"],"max_risk":0.0385,"max_risk_day":7,"max_risk_v1_leaky":0.22},"top_features":[{"contribution":-0.1142,"direction":"down","name":"week_of_year","source":"model"},{"contribution":-0.0601,"direction":"down","name":"gdelt_unrest_30d","source":"model"},{"contribution":-0.054,"direction":"down","name":"block_rate_roll7_std","source":"model"}],"top_features_per_day":[{"base_prob":0.0241,"date":"2026-10-24","day":0,"risk":0.076,"top_features":[{"contribution":-0.1142,"direction":"down","name":"week_of_year","source":"model"},{"contribution":-0.0601,"direction":"down","name":"gdelt_unrest_30d","source":"model"},{"contribution":-0.054,"direction":"down","name":"block_rate_roll7_std","source":"model"}]},{"base_prob":0.0241,"date":"2026-10-25","day":1,"risk":0.065,"top_features":[{"contribution":-0.1142,"direction":"down","name":"week_of_year","source":"model"},{"contribution":-0.0601,"direction":"down","name":"gdelt_unrest_30d","source":"model"},{"contribution":-0.054,"direction":"down","name":"block_rate_roll7_std","source":"model"}]},{"base_prob":0.0241,"date":"2026-10-26","day":2,"risk":0.112,"top_features":[{"contribution":-0.1142,"direction":"down","name":"week_of_year","source":"model"},{"contribution":-0.0601,"direction":"down","name":"gdelt_unrest_30d","source":"model"},{"contribution":0.06,"direction":"up","name":"event:Danish Parliament in 5d","source":"overlay"}]},{"base_prob":0.0241,"date":"2026-10-27","day":3,"risk":0.09,"top_features":[{"contribution":-0.1142,"direction":"down","name":"week_of_year","source":"model"},{"contribution":0.0682,"direction":"up","name":"event:Danish Parliament in 4d","source":"overlay"},{"contribution":-0.0601,"direction":"down","name":"gdelt_unrest_30d","source":"model"}]},{"base_prob":0.0241,"date":"2026-10-28","day":4,"risk":0.127,"top_features":[{"contribution":-0.1142,"direction":"down","name":"week_of_year","source":"model"},{"contribution":0.0789,"direction":"up","name":"event:Danish Parliament in 3d","source":"overlay"},{"contribution":-0.0601,"direction":"down","name":"gdelt_unrest_30d","source":"model"}]},{"base_prob":0.0241,"date":"2026-10-29","day":5,"risk":0.145,"top_features":[{"contribution":-0.1142,"direction":"down","name":"week_of_year","source":"model"},{"contribution":0.0938,"direction":"up","name":"event:Danish Parliament in 2d","source":"overlay"},{"contribution":-0.0601,"direction":"down","name":"gdelt_unrest_30d","source":"model"}]},{"base_prob":0.0241,"date":"2026-10-30","day":6,"risk":0.186,"top_features":[{"contribution":0.1154,"direction":"up","name":"event:Danish Parliament in 1d","source":"overlay"},{"contribution":-0.1142,"direction":"down","name":"week_of_year","source":"model"},{"contribution":-0.0601,"direction":"down","name":"gdelt_unrest_30d","source":"model"}]},{"base_prob":0.0241,"date":"2026-10-31","day":7,"risk":0.22,"top_features":[{"contribution":0.15,"direction":"up","name":"event:Danish Parliament","source":"overlay"},{"contribution":-0.1142,"direction":"down","name":"week_of_year","source":"model"},{"contribution":-0.0601,"direction":"down","name":"gdelt_unrest_30d","source":"model"}]}]}