{"aci":{"active":true,"alpha":0.048,"empirical_coverage":0.8979,"last_updated":"2026-09-08T03:45:02.132824+00:00","n_observations":2518,"q_applied":0.35,"q_raw":0.9762},"aci_alpha":0.048,"confidence":0.85,"country":"DK","country_name":"Denmark","covered":true,"forecast":[{"date":"2026-09-08","day":0,"drivers":[],"risk":0.01},{"date":"2026-09-09","day":1,"drivers":[],"risk":0.01},{"date":"2026-09-10","day":2,"drivers":[],"risk":0.01},{"date":"2026-09-11","day":3,"drivers":[],"risk":0.029},{"date":"2026-09-12","day":4,"drivers":[],"risk":0.01},{"date":"2026-09-13","day":5,"drivers":[],"risk":0.01},{"date":"2026-09-14","day":6,"drivers":[],"risk":0.049},{"date":"2026-09-15","day":7,"drivers":[],"risk":0.02}],"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-09-08T20:38:44.003947","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 (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-09-07","flag":false,"is_headline_source":true,"probability":0.2408,"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":"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.39899999999999997],"model_version":"honest_forecast_v1","summary":{"avg_risk":0.018,"key_drivers":[],"max_risk":0.2408,"max_risk_day":6,"max_risk_v1_leaky":0.049},"top_features":[{"contribution":-0.0245,"direction":"down","name":"week_of_year","source":"model"},{"contribution":-0.0174,"direction":"down","name":"block_rate_roll7_mean","source":"model"},{"contribution":0.0162,"direction":"up","name":"block_rate_roll7_std","source":"model"}],"top_features_per_day":[{"base_prob":0.0038,"date":"2026-09-08","day":0,"risk":0.01,"top_features":[{"contribution":-0.0245,"direction":"down","name":"week_of_year","source":"model"},{"contribution":-0.0174,"direction":"down","name":"block_rate_roll7_mean","source":"model"},{"contribution":0.0162,"direction":"up","name":"block_rate_roll7_std","source":"model"}]},{"base_prob":0.0038,"date":"2026-09-09","day":1,"risk":0.01,"top_features":[{"contribution":-0.0245,"direction":"down","name":"week_of_year","source":"model"},{"contribution":-0.0174,"direction":"down","name":"block_rate_roll7_mean","source":"model"},{"contribution":0.0162,"direction":"up","name":"block_rate_roll7_std","source":"model"}]},{"base_prob":0.0038,"date":"2026-09-10","day":2,"risk":0.01,"top_features":[{"contribution":-0.0245,"direction":"down","name":"week_of_year","source":"model"},{"contribution":-0.0174,"direction":"down","name":"block_rate_roll7_mean","source":"model"},{"contribution":0.0162,"direction":"up","name":"block_rate_roll7_std","source":"model"}]},{"base_prob":0.0038,"date":"2026-09-11","day":3,"risk":0.029,"top_features":[{"contribution":-0.0245,"direction":"down","name":"week_of_year","source":"model"},{"contribution":-0.0174,"direction":"down","name":"block_rate_roll7_mean","source":"model"},{"contribution":0.0162,"direction":"up","name":"block_rate_roll7_std","source":"model"}]},{"base_prob":0.0038,"date":"2026-09-12","day":4,"risk":0.01,"top_features":[{"contribution":-0.0245,"direction":"down","name":"week_of_year","source":"model"},{"contribution":0.02,"direction":"up","name":"day_decay_t+4","source":"overlay"},{"contribution":-0.0174,"direction":"down","name":"block_rate_roll7_mean","source":"model"}]},{"base_prob":0.0038,"date":"2026-09-13","day":5,"risk":0.01,"top_features":[{"contribution":0.025,"direction":"up","name":"day_decay_t+5","source":"overlay"},{"contribution":-0.0245,"direction":"down","name":"week_of_year","source":"model"},{"contribution":-0.0174,"direction":"down","name":"block_rate_roll7_mean","source":"model"}]},{"base_prob":0.0038,"date":"2026-09-14","day":6,"risk":0.049,"top_features":[{"contribution":0.03,"direction":"up","name":"day_decay_t+6","source":"overlay"},{"contribution":-0.0245,"direction":"down","name":"week_of_year","source":"model"},{"contribution":-0.0174,"direction":"down","name":"block_rate_roll7_mean","source":"model"}]},{"base_prob":0.0038,"date":"2026-09-15","day":7,"risk":0.02,"top_features":[{"contribution":0.035,"direction":"up","name":"day_decay_t+7","source":"overlay"},{"contribution":-0.0245,"direction":"down","name":"week_of_year","source":"model"},{"contribution":-0.0174,"direction":"down","name":"block_rate_roll7_mean","source":"model"}]}]}