pub fn derive_worker_diff(obs: &WorkerObservation) -> WorkerDiffStateExpand description
Classify one worker’s diff state. Pure and total.
Precedence (the most fundamental reason a worker is out of play, first): admin-disabled (an explicit operator choice) → temporarily-bypassed → configured-but-not-pooled (missing vs recovered-not-rejoined, by reachability) → in-pool-but-unreachable → present-but-unconfigured → facts-unknown → command-ineligible → ready.