pub enum Detector {
Script {
command: String,
args: Vec<String>,
expect_exit: Option<i32>,
},
FileExists {
path: String,
non_empty: bool,
},
RegexMatch {
artifact: String,
pattern: String,
},
Threshold {
metric: String,
op: CompareOp,
value: f64,
},
Judge {
standard: String,
min_score: Option<f64>,
},
}Expand description
How a validation is actually decided. Ordered by the independence ladder
from the cheat sheet: Judge is rung 3, everything else is rung 4.
Variants§
Script
Run a command; exit code 0 passes. The strongest detector available.
FileExists
A path must exist (optionally non-empty).
RegexMatch
A regex must match the named artifact.
Threshold
A numeric metric compared against a threshold.
Judge
A model verdict. Requires a judge whose provider differs from the builder’s, otherwise the gate refuses it as non-independent.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Detector
impl<'de> Deserialize<'de> for Detector
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>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for Detector
impl RefUnwindSafe for Detector
impl Send for Detector
impl Sync for Detector
impl Unpin for Detector
impl UnsafeUnpin for Detector
impl UnwindSafe for Detector
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
Mutably borrows from an owned value. Read more