{"baseline_generated_at":"2026-08-16T02:10:54.082692+00:00","drift_score":0.8633,"drift_score_thresholds":{"drifted":0.4,"retrain_recommended":0.6,"watch":0.2},"features":[{"cyclical":false,"feature":"block_rate_roll30_mean","ks_p_value":2.6605948344256765e-43,"ks_stat":0.7221,"live_mean":0.4459,"monitored":true,"n_live":147,"psi":2.774,"scored":true,"train_mean":0.0607,"verdict":"major"},{"cyclical":false,"feature":"block_rate_roll7_std","ks_p_value":1.1139818600099092e-41,"ks_stat":0.7098,"live_mean":0.1078,"monitored":true,"n_live":147,"psi":2.7111,"scored":true,"train_mean":0.0139,"verdict":"major"},{"cyclical":false,"feature":"block_rate_lag14","ks_p_value":1.927476968438344e-40,"ks_stat":0.7003,"live_mean":0.4484,"monitored":true,"n_live":147,"psi":2.641,"scored":true,"train_mean":0.0609,"verdict":"major"},{"cyclical":false,"feature":"block_rate_lag7","ks_p_value":2.1916473504453266e-40,"ks_stat":0.6998,"live_mean":0.428,"monitored":true,"n_live":147,"psi":2.6213,"scored":true,"train_mean":0.0654,"verdict":"major"},{"cyclical":false,"feature":"blocked_count_lag7","ks_p_value":2.1916473504453266e-40,"ks_stat":0.6998,"live_mean":30.3197,"monitored":true,"n_live":147,"psi":2.6213,"scored":true,"train_mean":3.891,"verdict":"major"},{"cyclical":false,"feature":"block_rate_roll14_mean","ks_p_value":4.033370388104118e-39,"ks_stat":0.6898,"live_mean":0.3917,"monitored":true,"n_live":147,"psi":2.5749,"scored":true,"train_mean":0.0658,"verdict":"major"},{"cyclical":false,"feature":"blocked_count_roll14_mean","ks_p_value":4.033370388104118e-39,"ks_stat":0.6898,"live_mean":26.189,"monitored":true,"n_live":147,"psi":2.5749,"scored":true,"train_mean":3.9156,"verdict":"major"},{"cyclical":false,"feature":"block_rate_lag3","ks_p_value":2.1916473504453266e-40,"ks_stat":0.6998,"live_mean":0.3525,"monitored":true,"n_live":147,"psi":2.5042,"scored":true,"train_mean":0.0681,"verdict":"major"},{"cyclical":false,"feature":"blocked_count_lag3","ks_p_value":2.1916473504453266e-40,"ks_stat":0.6998,"live_mean":20.4218,"monitored":true,"n_live":147,"psi":2.5042,"scored":true,"train_mean":4.0764,"verdict":"major"},{"cyclical":false,"feature":"block_rate_roll7_mean","ks_p_value":6.950256572550285e-38,"ks_stat":0.6798,"live_mean":0.3382,"monitored":true,"n_live":147,"psi":2.4881,"scored":true,"train_mean":0.0681,"verdict":"major"},{"cyclical":false,"feature":"blocked_count_roll7_mean","ks_p_value":6.950256572550285e-38,"ks_stat":0.6798,"live_mean":19.999,"monitored":true,"n_live":147,"psi":2.4881,"scored":true,"train_mean":4.0778,"verdict":"major"},{"cyclical":false,"feature":"block_rate_lag2","ks_p_value":2.1916473504453266e-40,"ks_stat":0.6998,"live_mean":0.335,"monitored":true,"n_live":147,"psi":2.4813,"scored":true,"train_mean":0.0687,"verdict":"major"},{"cyclical":false,"feature":"blocked_count_lag2","ks_p_value":2.1916473504453266e-40,"ks_stat":0.6998,"live_mean":18.0748,"monitored":true,"n_live":147,"psi":2.4813,"scored":true,"train_mean":4.1255,"verdict":"major"},{"cyclical":false,"feature":"gdelt_conflict_tone_7d","ks_p_value":0.02259505086003273,"ks_stat":0.16,"live_mean":-0.1051,"monitored":true,"n_live":147,"psi":1.6608,"scored":true,"train_mean":-0.4518,"verdict":"major"},{"cyclical":false,"feature":"block_rate_lag1","ks_p_value":1.4684896100176385e-25,"ks_stat":0.5655,"live_mean":0.2717,"monitored":true,"n_live":147,"psi":1.4269,"scored":true,"train_mean":0.0694,"verdict":"major"},{"cyclical":false,"feature":"blocked_count_lag1","ks_p_value":1.4684896100176385e-25,"ks_stat":0.5655,"live_mean":13.585,"monitored":true,"n_live":147,"psi":1.4269,"scored":true,"train_mean":4.1712,"verdict":"major"},{"cyclical":false,"feature":"gdelt_unrest_30d","ks_p_value":4.2203837243144013e-22,"ks_stat":0.5273,"live_mean":1296.2993,"monitored":true,"n_live":147,"psi":1.2457,"scored":true,"train_mean":475.2757,"verdict":"major"},{"cyclical":false,"feature":"gdelt_protests_7d","ks_p_value":3.5914972669603176e-14,"ks_stat":0.4235,"live_mean":233.5578,"monitored":true,"n_live":147,"psi":0.5758,"scored":true,"train_mean":114.5587,"verdict":"major"},{"cyclical":false,"feature":"gdelt_riots_7d","ks_p_value":5.954076021546656e-8,"ks_stat":0.315,"live_mean":37.3741,"monitored":true,"n_live":147,"psi":0.5731,"scored":true,"train_mean":12.1827,"verdict":"major"},{"cyclical":false,"feature":"critical_incident_7d","ks_p_value":0.003096693619353055,"ks_stat":0.1925,"live_mean":0.415,"monitored":true,"n_live":147,"psi":0.2521,"scored":true,"train_mean":0.1448,"verdict":"major"},{"cyclical":false,"feature":"incident_count_7d","ks_p_value":0.003096693619353055,"ks_stat":0.1925,"live_mean":0.4218,"monitored":true,"n_live":147,"psi":0.2355,"scored":true,"train_mean":0.1535,"verdict":"drifted"},{"cyclical":false,"feature":"election_in_7days","ks_p_value":0.4200786310727296,"ks_stat":0.0932,"live_mean":0.0068,"monitored":true,"n_live":147,"psi":0,"scored":true,"train_mean":0.0054,"verdict":"stable"},{"cyclical":false,"feature":"protest_last_48h","ks_p_value":0.9327347852632676,"ks_stat":0.0562,"live_mean":0.0612,"monitored":true,"n_live":147,"psi":0,"scored":true,"train_mean":0.0188,"verdict":"stable"},{"cyclical":false,"feature":"high_importance_event","ks_p_value":0.8609662142759943,"ks_stat":0.063,"live_mean":0.068,"monitored":true,"n_live":147,"psi":0,"scored":true,"train_mean":0.0321,"verdict":"stable"},{"cyclical":false,"feature":"high_urgency_signals_7d","ks_p_value":0.39659551877727256,"ks_stat":0.095,"live_mean":0.6531,"monitored":true,"n_live":147,"psi":0,"scored":true,"train_mean":0.9429,"verdict":"stable"},{"cyclical":false,"feature":"verified_signals_7d","ks_p_value":0.000048439141512392606,"ks_stat":0.2469,"live_mean":5.1633,"monitored":true,"n_live":147,"psi":0,"scored":true,"train_mean":1.9907,"verdict":"stable"},{"cyclical":false,"feature":"ooni_anomaly_7d","ks_p_value":0.4572935771162161,"ks_stat":0.0905,"live_mean":4.585,"monitored":true,"n_live":147,"psi":0,"scored":true,"train_mean":1.1291,"verdict":"stable"},{"cyclical":false,"feature":"ioda_alert_7d","ks_p_value":0.29116705865352144,"ks_stat":0.1041,"live_mean":0.5782,"monitored":true,"n_live":147,"psi":0,"scored":true,"train_mean":0.8616,"verdict":"stable"},{"cyclical":false,"feature":"recent_shutdown","ks_p_value":1.894496905677246e-30,"ks_stat":0.6143,"live_mean":0.7143,"monitored":true,"n_live":147,"psi":0,"scored":true,"train_mean":0.2391,"verdict":"stable"},{"cyclical":false,"feature":"probe_block_rate_7d","ks_p_value":1,"ks_stat":0,"live_mean":0,"monitored":true,"n_live":147,"psi":0,"scored":true,"train_mean":0,"verdict":"stable"},{"cyclical":false,"feature":"probe_blocked_domains_7d","ks_p_value":1,"ks_stat":0,"live_mean":0,"monitored":true,"n_live":147,"psi":0,"scored":true,"train_mean":0,"verdict":"stable"},{"cyclical":false,"feature":"probe_consensus_flag","ks_p_value":1,"ks_stat":0,"live_mean":0,"monitored":true,"n_live":147,"psi":0,"scored":true,"train_mean":0,"verdict":"stable"},{"cyclical":false,"feature":"probe_method_escalation","ks_p_value":1,"ks_stat":0,"live_mean":0,"monitored":true,"n_live":147,"psi":0,"scored":true,"train_mean":0,"verdict":"stable"},{"cyclical":false,"feature":"risk_tier","ks_p_value":0.00026885616610531943,"ks_stat":0.2262,"live_mean":2.4286,"monitored":true,"n_live":147,"psi":0,"scored":true,"train_mean":2.4286,"verdict":"stable"},{"cyclical":true,"feature":"month","ks_p_value":1.3052380485028575e-31,"ks_stat":0.625,"live_mean":8,"monitored":true,"n_live":147,"psi":17.993,"scored":false,"scored_note":"calendar feature — excluded from drift_score","train_mean":6.485,"verdict":"major"},{"cyclical":true,"feature":"week_of_year","ks_p_value":1.3052380485028575e-31,"ks_stat":0.625,"live_mean":33,"monitored":true,"n_live":147,"psi":17.3987,"scored":false,"scored_note":"calendar feature — excluded from drift_score","train_mean":26.321,"verdict":"major"},{"cyclical":true,"feature":"day_of_week","ks_p_value":0.26050277313064907,"ks_stat":0.1071,"live_mean":3,"monitored":true,"n_live":147,"psi":0,"scored":false,"scored_note":"calendar feature — excluded from drift_score","train_mean":3.0014,"verdict":"stable"},{"cyclical":true,"feature":"is_weekend","ks_p_value":0.0006680976343574358,"ks_stat":0.2143,"live_mean":0.2857,"monitored":true,"n_live":147,"psi":0,"scored":false,"scored_note":"calendar feature — excluded from drift_score","train_mean":0.2853,"verdict":"stable"},{"cyclical":true,"feature":"is_friday","ks_p_value":0.26050277313064907,"ks_stat":0.1071,"live_mean":0.1429,"monitored":true,"n_live":147,"psi":0,"scored":false,"scored_note":"calendar feature — excluded from drift_score","train_mean":0.1441,"verdict":"stable"}],"generated_at":"2026-08-20T05:20:08.666982+00:00","honest_caveats":["PSI bin count (10) and thresholds (0.2 watch->drift, 0.25 major) are industry convention, not derived from Voidly's data.","Classifier contagion features (neighbor_*) are NOT monitored — they need the offline adjacency + regime-correlation pipeline.","Calendar features (month, week_of_year, day_of_week, is_weekend, is_friday) are reported but EXCLUDED from the composite drift_score — PSI on a calendar feature over a 7-day window is structurally guaranteed to be huge and says nothing about model health.","The forecast baseline EXCLUDES the most-recent 30 days so label drift is baseline-vs-recent, not recent-vs-itself.","Drift is not the same as a broken model: a genuine real-world censorship surge IS distribution shift but the model may still be correct.","KS here compares the live window against a sample reconstructed from stored training quantiles — PSI (full decile bins) is the primary signal, KS is a cross-check.","KS on a 7-day window is noisy; lean on the composite drift_score, not single-feature KS spikes."],"label_drift":{"delta":0.2304,"feature":"target_7day","live_positive_rate":0.3302,"n_live":630,"train_positive_rate":0.0998,"verdict":"drifted","window_days":30},"label_thresholds":{"drifted":0.2,"major":0.35,"watch":0.1},"live_data_source":"forecast_training_data.parquet","live_window_days":7,"max_psi":2.774,"mean_psi":1.2018,"model":"forecast-v1","n_features_drifted":21,"n_features_major":20,"n_live_samples":147,"n_scored_features":34,"overall_verdict":"retrain-recommended","parquet_max_date":"2026-08-16","psi_note":"mean_psi / max_psi are over scored features only; calendar features are reported but not scored","psi_thresholds":{"drifted":0.2,"major":0.25,"watch":0.1},"retrain_queue":{"queued":true,"reason":"2 model(s) at retrain-recommended — flag written to /opt/voidly-ai/data/retrain-queue.json","triggering_models":["classifier-v3.3","forecast-v1"]},"sidecar_last_modified":"2026-08-20T05:20:08Z","sidecar_size_bytes":23662,"verdict":"retrain-recommended","_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."}}