Skip to main content

Module classifier_drift

Module classifier_drift 

Source
Expand description

Classifier drift detection and bounded refresh (bd-session-history-remediation-ocv9i.6.3).

Session history captured a subtle placement-integrity failure: the fleet had healthy free slots, yet RCH ran the build locally — not because of capacity or pressure, but because stale classifier state mis-decided the command until a refresh corrected it. That must be reported distinctly from “no capacity” and “critical pressure”, or operators chase the wrong cause.

This module is the pure detection + bounded-refresh contract: assess_drift decides whether a local choice was genuine or a drift (chose-local with healthy free slots, where a classifier refresh changes the placement toward remote), classifies it DriftKind::Transient (refresh restored remote placement) vs DriftKind::Persistent (refresh could not), and records the before/after classification + selected-worker ClassificationTransition. refresh_allowed bounds refresh attempts. A persistent drift maps to AdmissionRejectionCategory::ClassifierLocalDrift and is the distinct reason proof mode fails on.

Structs§

ClassificationTransition
The before/after picture across a classifier refresh.
DriftObservation
Observable inputs for drift detection. Plain data; pure assessment.
DriftReport
The drift report for admission/proof surfaces.
RefreshBudget
Bounded-refresh budget so a misclassification can trigger at most a fixed number of refreshes (a refresh storm is itself a failure mode).

Enums§

DriftKind
The drift classification.

Functions§

assess_drift
Assess classifier drift. Pure and total.
refresh_allowed
Whether another classifier refresh is permitted given attempts already done.