v3.0.0
Adds feature drift monitoring. The trainer now writes per-input reference statistics (mean, std, quantiles, decile edges, category frequencies) into manifest.json, and the serving layer scores a rolling window of accepted inputs against them with a population stability index per feature, plus an unknown-category rate fed by validation rejections. GET /admin/drift returns scores, statuses, and live versus training statistics; the same numbers are exported as modelgate_feature_drift gauges. Training-like traffic scores about 0.01 per feature and a 3x shift in trip distance scores 2.3 on distance_km alone. 76 tests.