pub struct MatchExpr {
pub model_family: Constraint,
pub harness: Constraint,
pub modalities: Option<ModalitySet>,
pub posture: Option<Vec<Posture>>,
}Expand description
Which resolver contexts a variant serves. A conjunction over four dimensions; specificity = number of constrained dimensions.
Fields§
§model_family: ConstraintModel family constraint (claude, gpt, gemini, …).
harness: ConstraintHarness constraint (claude-code, codex, …).
modalities: Option<ModalitySet>Required modalities (superset match), if any.
posture: Option<Vec<Posture>>Posture constraint.
Implementations§
Source§impl MatchExpr
impl MatchExpr
Sourcepub fn any() -> Self
pub fn any() -> Self
The catch-all: matches every context. Every manifest must carry one
variant with this expression so selection is total (doc 06 §2).
Sourcepub fn is_catch_all(&self) -> bool
pub fn is_catch_all(&self) -> bool
True when no dimension is constrained.
Sourcepub fn specificity(&self) -> u8
pub fn specificity(&self) -> u8
Specificity: how many dimensions are constrained (0–4). Selection ranks by this; the algorithm itself is CP-2’s sealed matcher.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for MatchExpr
impl<'de> Deserialize<'de> for MatchExpr
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
impl Eq for MatchExpr
impl StructuralPartialEq for MatchExpr
Auto Trait Implementations§
impl Freeze for MatchExpr
impl RefUnwindSafe for MatchExpr
impl Send for MatchExpr
impl Sync for MatchExpr
impl Unpin for MatchExpr
impl UnsafeUnpin for MatchExpr
impl UnwindSafe for MatchExpr
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