#[non_exhaustive]pub enum Phase {
Probe,
Warmup,
Stable,
Mature,
}Expand description
Lifecycle phase of the cadence balancer. Probe = no calibrations yet,
Warmup = first few calibrations (the anchor pin is held; growth may act
from the second calibration if it clears the margin), Stable = normal
operation including anchor election and overhead auto-tune at the real
target, Mature = long-running steady state. Phase ordering is monotonic
and supports >= comparisons for gating logic.
Mature gates the same ElChe actions as Stable; the difference lives in
the LR-aware meta-controller, which reads the phase to pick a gentler
nudge factor and a shorter sustain count as trust accumulates (see
lr_event_meta::base_factor_for / sustain_k_for).
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Probe
Initial fixed-size measurement period before any averaging-driven
calibration. Same code path as the legacy “uncalibrated” branch;
exits to Warmup on the first successful report_timing call.
Warmup
First few calibrations after Probe — anchor should change rarely.
Stable
Normal operation with hysteresis on anchor changes.
Mature
Long-running steady-state with full failure-state machinery.
Trait Implementations§
impl Copy for Phase
Source§impl<'de> Deserialize<'de> for Phase
impl<'de> Deserialize<'de> for Phase
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for Phase
Source§impl Ord for Phase
impl Ord for Phase
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialOrd for Phase
impl PartialOrd for Phase
impl StructuralPartialEq for Phase
Auto Trait Implementations§
impl Freeze for Phase
impl RefUnwindSafe for Phase
impl Send for Phase
impl Sync for Phase
impl Unpin for Phase
impl UnsafeUnpin for Phase
impl UnwindSafe for Phase
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.