pub struct BehavioralProfileGuard { /* private fields */ }Expand description
Guard that computes behavioral-anomaly signals from the receipt store and emits advisories without blocking the request.
Implementations§
Source§impl BehavioralProfileGuard
impl BehavioralProfileGuard
Sourcepub fn new(feed: Box<dyn ReceiptFeedSource>) -> Self
pub fn new(feed: Box<dyn ReceiptFeedSource>) -> Self
Construct a new guard with the default configuration and a
system-clock now source.
Sourcepub fn with_config(
feed: Box<dyn ReceiptFeedSource>,
config: BehavioralProfileConfig,
) -> Self
pub fn with_config( feed: Box<dyn ReceiptFeedSource>, config: BehavioralProfileConfig, ) -> Self
Construct with an explicit config.
Sourcepub fn with_clock(self, clock: Box<dyn Fn() -> u64 + Send + Sync>) -> Self
pub fn with_clock(self, clock: Box<dyn Fn() -> u64 + Send + Sync>) -> Self
Override the clock source. Useful for deterministic tests.
Sourcepub fn observe_sample(
&self,
agent_id: &str,
metric: BehavioralMetric,
sample: f64,
window_start: u64,
) -> Result<ObservationOutcome, KernelError>
pub fn observe_sample( &self, agent_id: &str, metric: BehavioralMetric, sample: f64, window_start: u64, ) -> Result<ObservationOutcome, KernelError>
Feed the guard a fresh sample and return whether the window should be flagged as anomalous. Exposed for tests and dashboards that want to surface scores without running the full pipeline.
Sourcepub fn baseline(
&self,
agent_id: &str,
metric: BehavioralMetric,
) -> Result<Option<EmaBaselineState>, KernelError>
pub fn baseline( &self, agent_id: &str, metric: BehavioralMetric, ) -> Result<Option<EmaBaselineState>, KernelError>
Access the snapshot of a (agent, metric) baseline.
Trait Implementations§
Source§impl Guard for BehavioralProfileGuard
impl Guard for BehavioralProfileGuard
Source§fn evaluate(&self, ctx: &GuardContext<'_>) -> Result<GuardDecision, KernelError>
fn evaluate(&self, ctx: &GuardContext<'_>) -> Result<GuardDecision, KernelError>
Evaluate the guard against a tool call request. Read more
Auto Trait Implementations§
impl !Freeze for BehavioralProfileGuard
impl !RefUnwindSafe for BehavioralProfileGuard
impl !UnwindSafe for BehavioralProfileGuard
impl Send for BehavioralProfileGuard
impl Sync for BehavioralProfileGuard
impl Unpin for BehavioralProfileGuard
impl UnsafeUnpin for BehavioralProfileGuard
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more