pub enum ControlVerdict {
Moved {
gap: f64,
},
TooSmall {
gap: f64,
},
WrongDirection {
gap: f64,
},
}Expand description
What the positive control demonstrated about this run’s sensitivity.
Three outcomes rather than a bool, because the two ways of failing mean different things and want different fixes. Collapsing them is what made a real 0.090 swing render as “changed by only -0.090” — wording that reads as barely moved about a control that moved a great deal, in the wrong direction. That is ADR 0004 decision 3’s rule applied to a verdict rather than to a field: a state that licenses a different action must render differently.
Variants§
Moved
The control scored at least CONTROL_MIN_COMPOSITE_GAP below the
gglib arm. The apparatus moved under a known-bad change, so a null
result elsewhere in the report is evidence rather than silence.
TooSmall
The control scored below the gglib arm but by less than the threshold. The apparatus may simply be insensitive at this suite size.
WrongDirection
The control scored higher than the gglib arm.
Not a weak signal — a contradicted premise. The change was chosen to be
bad, so a control that wins says the degradation is not degrading, and
the control itself needs fixing before any delta in the report means
anything. Measured once already: temperature 2.0 without disabling
top_k is absorbed by the truncation samplers that run ahead of it.
Implementations§
Source§impl ControlVerdict
impl ControlVerdict
Sourcepub const fn demonstrated_sensitivity(&self) -> bool
pub const fn demonstrated_sensitivity(&self) -> bool
Whether this run demonstrated it could detect a sampling change.
Trait Implementations§
Source§impl Clone for ControlVerdict
impl Clone for ControlVerdict
Source§fn clone(&self) -> ControlVerdict
fn clone(&self) -> ControlVerdict
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ControlVerdict
impl Debug for ControlVerdict
Source§impl<'de> Deserialize<'de> for ControlVerdict
impl<'de> Deserialize<'de> for ControlVerdict
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>,
Source§impl PartialEq for ControlVerdict
impl PartialEq for ControlVerdict
Source§fn eq(&self, other: &ControlVerdict) -> bool
fn eq(&self, other: &ControlVerdict) -> bool
self and other values to be equal, and is used by ==.