{"baseline_generated_at": "2026-10-04T02:20:37.832728+00:00", "drift_score_thresholds": {"drifted": 0.4, "retrain_recommended": 0.6, "watch": 0.2}, "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_thresholds": {"drifted": 0.2, "major": 0.35, "watch": 0.1}, "label_window_days": 30, "live_window_days": 7, "models": {"classifier-v3.3": {"drift_score": 0.8577, "features": [{"cyclical": false, "feature": "anomaly_rate", "ks_p_value": 7.129241234881118e-13, "ks_stat": 0.3194, "live_mean": 0.7212, "monitored": true, "n_live": 434, "psi": 0.9079, "scored": true, "train_mean": 0.4287, "verdict": "major"}, {"cyclical": false, "feature": "rate_count_interaction", "ks_p_value": 1.5647359923582006e-16, "ks_stat": 0.3624, "live_mean": 100.9816, "monitored": true, "n_live": 434, "psi": 0.5748, "scored": true, "train_mean": 8.8508, "verdict": "major"}, {"cyclical": false, "feature": "measurement_count", "ks_p_value": 3.3303937743146843e-09, "ks_stat": 0.2687, "live_mean": 107.7465, "monitored": true, "n_live": 434, "psi": 0.4808, "scored": true, "train_mean": 17.1931, "verdict": "major"}, {"cyclical": false, "feature": "rate_spike_interaction", "ks_p_value": 0.10315366424588553, "ks_stat": 0.1025, "live_mean": 0.0674, "monitored": true, "n_live": 434, "psi": 0.0829, "scored": true, "train_mean": 0.0601, "verdict": "stable"}, {"cyclical": false, "feature": "spike_magnitude", "ks_p_value": 0.141970543347616, "ks_stat": 0.0968, "live_mean": 0.0876, "monitored": true, "n_live": 434, "psi": 0.057, "scored": true, "train_mean": 0.0703, "verdict": "stable"}, {"cyclical": false, "feature": "probe_block_rate", "ks_p_value": 5.393959612996267e-07, "ks_stat": 0.2326, "live_mean": 0.0136, "monitored": true, "n_live": 434, "psi": 0.0, "scored": true, "train_mean": 0.0002, "verdict": "stable"}, {"cyclical": false, "feature": "probe_node_count", "ks_p_value": 8.39973493779223e-08, "ks_stat": 0.2464, "live_mean": 0.7396, "monitored": true, "n_live": 434, "psi": 0.0, "scored": true, "train_mean": 0.009, "verdict": "stable"}, {"cyclical": false, "feature": "probe_avg_confidence", "ks_p_value": 9.48731261473592e-10, "ks_stat": 0.2768, "live_mean": 0.0423, "monitored": true, "n_live": 434, "psi": 0.0, "scored": true, "train_mean": 0.0002, "verdict": "stable"}, {"cyclical": false, "feature": "probe_agreement", "ks_p_value": 1.5806581521776365e-07, "ks_stat": 0.2418, "live_mean": 0.0091, "monitored": true, "n_live": 434, "psi": 0.0, "scored": true, "train_mean": 0.0001, "verdict": "stable"}, {"cyclical": false, "feature": "high_evidence", "ks_p_value": 5.033384004301764e-12, "ks_stat": 0.3084, "live_mean": 0.3134, "monitored": true, "n_live": 434, "psi": 0.0, "scored": true, "train_mean": 0.0437, "verdict": "stable"}, {"cyclical": true, "feature": "month", "ks_p_value": 1.7120893742464004e-147, "ks_stat": 0.965, "live_mean": 9.3802, "monitored": true, "n_live": 434, "psi": 14.0742, "scored": false, "scored_note": "calendar feature \u2014 excluded from drift_score", "train_mean": 3.6446, "verdict": "major"}, {"cyclical": true, "feature": "day_of_week", "ks_p_value": 0.03678106250236046, "ks_stat": 0.1192, "live_mean": 2.9378, "monitored": true, "n_live": 434, "psi": 0.0062, "scored": false, "scored_note": "calendar feature \u2014 excluded from drift_score", "train_mean": 2.9894, "verdict": "stable"}, {"cyclical": true, "feature": "is_weekend", "ks_p_value": 1.1335937712271561e-07, "ks_stat": 0.2442, "live_mean": 0.2558, "monitored": true, "n_live": 434, "psi": 0.0, "scored": false, "scored_note": "calendar feature \u2014 excluded from drift_score", "train_mean": 0.2844, "verdict": "stable"}, {"feature": "neighbor_block_rate_7d", "monitored": false, "reason": "contagion feature \u2014 needs the offline adjacency + regime-correlation pipeline; cannot be recomputed on a 7-day live evidence window"}, {"feature": "neighbor_incident_count_7d", "monitored": false, "reason": "contagion feature \u2014 needs the offline adjacency + regime-correlation pipeline; cannot be recomputed on a 7-day live evidence window"}, {"feature": "neighbor_max_anomaly_7d", "monitored": false, "reason": "contagion feature \u2014 needs the offline adjacency + regime-correlation pipeline; cannot be recomputed on a 7-day live evidence window"}], "label_drift": {"delta": 0.3088, "feature": "label", "live_positive_rate": 0.5721, "n_live": 1982, "train_positive_rate": 0.2634, "verdict": "drifted", "window_days": 30}, "live_data_source": "voidly_data.db", "live_window_days": 7, "max_psi": 0.9079, "mean_psi": 0.2103, "model": "classifier-v3.3", "n_features_drifted": 3, "n_features_major": 3, "n_live_samples": 434, "n_scored_features": 10, "psi_note": "mean_psi / max_psi are over scored features only; calendar features are reported but not scored", "verdict": "retrain-recommended"}, "forecast-v1": {"drift_score": 0.6555, "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"}], "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}, "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, "parquet_max_date": "2026-10-04", "psi_note": "mean_psi / max_psi are over scored features only; calendar features are reported but not scored", "verdict": "retrain-recommended"}}, "overall_verdict": "retrain-recommended", "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"]}, "schema": "voidly-concept-drift-state/v1", "sidecar_last_modified": "2026-10-04T05:20:16Z", "sidecar_size_bytes": 23659}