use hirn_core::id::MemoryId;
#[derive(Debug, Clone)]
pub enum AdmissionDecision {
Accept { importance_override: Option<f32> },
Reject { reason: String },
Defer {
until: i64,
},
Merge { target: MemoryId },
}
impl AdmissionDecision {
pub fn is_accept(&self) -> bool {
matches!(self, Self::Accept { .. })
}
pub fn is_reject(&self) -> bool {
matches!(self, Self::Reject { .. })
}
}
#[derive(Debug, Clone)]
pub struct ControllerVerdict {
pub controller: String,
pub decision: AdmissionDecision,
}