{"baseline_generated_at": "2026-10-04T02:20:37.832728+00:00", "drift_score": 0.6555, "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.1916473504453266e-40, "ks_stat": 0.6998, "live_mean": 0.4311, "monitored": true, "n_live": 147, "psi": 3.9466, "scored": true, "train_mean": 0.092, "verdict": "major"}, {"cyclical": false, "feature": "block_rate_lag14", "ks_p_value": 4.3851847208502884e-34, "ks_stat": 0.6476, "live_mean": 0.448, "monitored": true, "n_live": 147, "psi": 2.0316, "scored": true, "train_mean": 0.0923, "verdict": "major"}, {"cyclical": false, "feature": "blocked_count_roll14_mean", "ks_p_value": 1.7037189914789135e-35, "ks_stat": 0.6598, "live_mean": 25.3275, "monitored": true, "n_live": 147, "psi": 1.9619, "scored": true, "train_mean": 6.2137, "verdict": "major"}, {"cyclical": false, "feature": "block_rate_roll14_mean", "ks_p_value": 1.7037189914789135e-35, "ks_stat": 0.6598, "live_mean": 0.3731, "monitored": true, "n_live": 147, "psi": 1.9572, "scored": true, "train_mean": 0.0972, "verdict": "major"}, {"cyclical": false, "feature": "block_rate_roll7_mean", "ks_p_value": 2.3002595222980824e-33, "ks_stat": 0.6412, "live_mean": 0.3078, "monitored": true, "n_live": 147, "psi": 1.8748, "scored": true, "train_mean": 0.0995, "verdict": "major"}, {"cyclical": false, "feature": "blocked_count_roll7_mean", "ks_p_value": 2.3002595222980824e-33, "ks_stat": 0.6412, "live_mean": 18.6259, "monitored": true, "n_live": 147, "psi": 1.8727, "scored": true, "train_mean": 6.3791, "verdict": "major"}, {"cyclical": false, "feature": "block_rate_lag3", "ks_p_value": 2.3002595222980824e-33, "ks_stat": 0.6412, "live_mean": 0.3207, "monitored": true, "n_live": 147, "psi": 1.8089, "scored": true, "train_mean": 0.0994, "verdict": "major"}, {"cyclical": false, "feature": "blocked_count_lag3", "ks_p_value": 2.3002595222980824e-33, "ks_stat": 0.6412, "live_mean": 19.0136, "monitored": true, "n_live": 147, "psi": 1.8089, "scored": true, "train_mean": 6.3771, "verdict": "major"}, {"cyclical": false, "feature": "block_rate_lag2", "ks_p_value": 2.3002595222980824e-33, "ks_stat": 0.6412, "live_mean": 0.2989, "monitored": true, "n_live": 147, "psi": 1.8009, "scored": true, "train_mean": 0.1001, "verdict": "major"}, {"cyclical": false, "feature": "blocked_count_lag2", "ks_p_value": 2.3002595222980824e-33, "ks_stat": 0.6412, "live_mean": 16.4082, "monitored": true, "n_live": 147, "psi": 1.8009, "scored": true, "train_mean": 6.425, "verdict": "major"}, {"cyclical": false, "feature": "block_rate_roll7_std", "ks_p_value": 6.2870828601868415e-34, "ks_stat": 0.6462, "live_mean": 0.1004, "monitored": true, "n_live": 147, "psi": 1.7821, "scored": true, "train_mean": 0.017, "verdict": "major"}, {"cyclical": false, "feature": "block_rate_lag7", "ks_p_value": 3.915105590439789e-34, "ks_stat": 0.648, "live_mean": 0.4094, "monitored": true, "n_live": 147, "psi": 1.3167, "scored": true, "train_mean": 0.0969, "verdict": "major"}, {"cyclical": false, "feature": "blocked_count_lag7", "ks_p_value": 3.915105590439789e-34, "ks_stat": 0.648, "live_mean": 29.6122, "monitored": true, "n_live": 147, "psi": 1.3167, "scored": true, "train_mean": 6.1903, "verdict": "major"}, {"cyclical": false, "feature": "block_rate_lag1", "ks_p_value": 8.57756651092489e-21, "ks_stat": 0.5119, "live_mean": 0.2397, "monitored": true, "n_live": 147, "psi": 0.9555, "scored": true, "train_mean": 0.1007, "verdict": "major"}, {"cyclical": false, "feature": "blocked_count_lag1", "ks_p_value": 8.57756651092489e-21, "ks_stat": 0.5119, "live_mean": 11.9864, "monitored": true, "n_live": 147, "psi": 0.9555, "scored": true, "train_mean": 6.4742, "verdict": "major"}, {"cyclical": false, "feature": "gdelt_unrest_30d", "ks_p_value": 1.75413177686551e-12, "ks_stat": 0.3971, "live_mean": 869.068, "monitored": true, "n_live": 147, "psi": 0.7888, "scored": true, "train_mean": 560.8507, "verdict": "major"}, {"cyclical": false, "feature": "gdelt_protests_7d", "ks_p_value": 5.0133224056748804e-05, "ks_stat": 0.2466, "live_mean": 189.4422, "monitored": true, "n_live": 147, "psi": 0.4388, "scored": true, "train_mean": 135.6067, "verdict": "major"}, {"cyclical": false, "feature": "gdelt_conflict_tone_7d", "ks_p_value": 0.03006968036190492, "ks_stat": 0.1548, "live_mean": -0.2552, "monitored": true, "n_live": 147, "psi": 0.096, "scored": true, "train_mean": -0.4381, "verdict": "stable"}, {"cyclical": false, "feature": "critical_incident_7d", "ks_p_value": 0.510644323989258, "ks_stat": 0.0867, "live_mean": 0.3061, "monitored": true, "n_live": 147, "psi": 0.0114, "scored": true, "train_mean": 0.1866, "verdict": "stable"}, {"cyclical": false, "feature": "gdelt_riots_7d", "ks_p_value": 0.4185711441301232, "ks_stat": 0.0933, "live_mean": 9.1088, "monitored": true, "n_live": 147, "psi": 0.0082, "scored": true, "train_mean": 14.924, "verdict": "stable"}, {"cyclical": false, "feature": "incident_count_7d", "ks_p_value": 0.510644323989258, "ks_stat": 0.0867, "live_mean": 0.3061, "monitored": true, "n_live": 147, "psi": 0.0071, "scored": true, "train_mean": 0.2001, "verdict": "stable"}, {"cyclical": false, "feature": "election_in_7days", "ks_p_value": 0.3357763441799286, "ks_stat": 0.1, "live_mean": 0.0, "monitored": true, "n_live": 147, "psi": 0.0, "scored": true, "train_mean": 0.0071, "verdict": "stable"}, {"cyclical": false, "feature": "protest_last_48h", "ks_p_value": 0.37108247295552116, "ks_stat": 0.097, "live_mean": 0.102, "monitored": true, "n_live": 147, "psi": 0.0, "scored": true, "train_mean": 0.023, "verdict": "stable"}, {"cyclical": false, "feature": "high_importance_event", "ks_p_value": 0.2282409460752062, "ks_stat": 0.1106, "live_mean": 0.1156, "monitored": true, "n_live": 147, "psi": 0.0, "scored": true, "train_mean": 0.0389, "verdict": "stable"}, {"cyclical": false, "feature": "high_urgency_signals_7d", "ks_p_value": 0.7650432782404974, "ks_stat": 0.0701, "live_mean": 5.1769, "monitored": true, "n_live": 147, "psi": 0.0, "scored": true, "train_mean": 1.0187, "verdict": "stable"}, {"cyclical": false, "feature": "verified_signals_7d", "ks_p_value": 0.0007365614554768575, "ks_stat": 0.2129, "live_mean": 7.1497, "monitored": true, "n_live": 147, "psi": 0.0, "scored": true, "train_mean": 2.432, "verdict": "stable"}, {"cyclical": false, "feature": "ooni_anomaly_7d", "ks_p_value": 0.7912137516118556, "ks_stat": 0.0683, "live_mean": 5.1088, "monitored": true, "n_live": 147, "psi": 0.0, "scored": true, "train_mean": 1.5138, "verdict": "stable"}, {"cyclical": false, "feature": "ioda_alert_7d", "ks_p_value": 0.03534274580877627, "ks_stat": 0.1517, "live_mean": 2.0408, "monitored": true, "n_live": 147, "psi": 0.0, "scored": true, "train_mean": 0.9182, "verdict": "stable"}, {"cyclical": false, "feature": "recent_shutdown", "ks_p_value": 4.228305004456734e-06, "ks_stat": 0.2738, "live_mean": 0.5238, "monitored": true, "n_live": 147, "psi": 0.0, "scored": true, "train_mean": 0.2884, "verdict": "stable"}, {"cyclical": false, "feature": "probe_block_rate_7d", "ks_p_value": 1.0, "ks_stat": 0.0, "live_mean": 0.0, "monitored": true, "n_live": 147, "psi": 0.0, "scored": true, "train_mean": 0.0, "verdict": "stable"}, {"cyclical": false, "feature": "probe_blocked_domains_7d", "ks_p_value": 1.0, "ks_stat": 0.0, "live_mean": 0.0, "monitored": true, "n_live": 147, "psi": 0.0, "scored": true, "train_mean": 0.0, "verdict": "stable"}, {"cyclical": false, "feature": "probe_consensus_flag", "ks_p_value": 1.0, "ks_stat": 0.0, "live_mean": 0.0, "monitored": true, "n_live": 147, "psi": 0.0, "scored": true, "train_mean": 0.0, "verdict": "stable"}, {"cyclical": false, "feature": "probe_method_escalation", "ks_p_value": 1.0, "ks_stat": 0.0, "live_mean": 0.0, "monitored": true, "n_live": 147, "psi": 0.0, "scored": true, "train_mean": 0.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.0, "scored": true, "train_mean": 2.4286, "verdict": "stable"}, {"cyclical": true, "feature": "week_of_year", "ks_p_value": 3.191013749928764e-47, "ks_stat": 0.75, "live_mean": 40.0, "monitored": true, "n_live": 147, "psi": 17.4874, "scored": false, "scored_note": "calendar feature \u2014 excluded from drift_score", "train_mean": 26.0514, "verdict": "major"}, {"cyclical": true, "feature": "month", "ks_p_value": 1.496535999827945e-38, "ks_stat": 0.685, "live_mean": 9.5714, "monitored": true, "n_live": 147, "psi": 16.1955, "scored": false, "scored_note": "calendar feature \u2014 excluded from drift_score", "train_mean": 6.4194, "verdict": "major"}, {"cyclical": true, "feature": "day_of_week", "ks_p_value": 0.26050277313064907, "ks_stat": 0.1071, "live_mean": 3.0, "monitored": true, "n_live": 147, "psi": 0.0, "scored": false, "scored_note": "calendar feature \u2014 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.0, "scored": false, "scored_note": "calendar feature \u2014 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.0, "scored": false, "scored_note": "calendar feature \u2014 excluded from drift_score", "train_mean": 0.1441, "verdict": "stable"}], "generated_at": "2026-10-04T05:20:16.307987+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 \u2014 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 \u2014 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 \u2014 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.0486, "feature": "target_7day", "live_positive_rate": 0.1746, "n_live": 630, "train_positive_rate": 0.126, "verdict": "stable", "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": 3.9466, "mean_psi": 0.8394, "model": "forecast-v1", "n_features_drifted": 17, "n_features_major": 17, "n_live_samples": 147, "n_scored_features": 34, "overall_verdict": "retrain-recommended", "parquet_max_date": "2026-10-04", "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 \u2014 flag written to [internal path]", "triggering_models": ["classifier-v3.3", "forecast-v1"]}, "sidecar_last_modified": "2026-10-04T05:20:16Z", "sidecar_size_bytes": 23659, "verdict": "retrain-recommended"}