#[non_exhaustive]pub enum ExperienceDisposition {
ConfirmedPositive,
NotApplicable,
BlockedByTarget,
BlockedByPolicy,
TransportFailure,
ExecutorFailure,
VerificationRejected,
VerificationInconclusive,
ConfirmedNegative,
}Expand description
Reason an observed attempt should or should not influence future planning.
This classification deliberately lives outside OutcomeStatus. Target,
host-policy, transport, and executor failures are operational facts rather
than verifier conclusions. Only Self::VerificationRejected and
Self::ConfirmedNegative contribute to the suppression streak; transient
or inconclusive dispositions remain neutral.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
ConfirmedPositive
The verifier reported a successful outcome for the action.
This resets the action-scoped negative suppression streak. It does not, by itself, prove that the associated hypothesis was authorized to transition or that its state changed; consult the knowledge base and the complete verification report for authoritative hypothesis state.
NotApplicable
The action does not apply to the observed subject.
BlockedByTarget
The target denied, rate-limited, or otherwise blocked the attempt.
BlockedByPolicy
Host authorization or safety policy refused the attempt.
TransportFailure
Network transport failed before verification could conclude.
ExecutorFailure
The selected executor failed independently of the target response.
VerificationRejected
A verifier rejected the tested hypothesis.
VerificationInconclusive
Available evidence could not support a deterministic conclusion.
ConfirmedNegative
A trusted active check explicitly confirmed a negative result.
Implementations§
Source§impl ExperienceDisposition
impl ExperienceDisposition
Sourcepub fn from_outcome(outcome: &Outcome) -> Self
pub fn from_outcome(outcome: &Outcome) -> Self
Infers the conservative disposition used by ExperienceStore::observe.
FalsePositive remains VerificationRejected: an outcome alone does
not prove that an audited active negative check was performed.
Success remains the action-level Self::ConfirmedPositive even when
case policy suppresses a hypothesis transition.
Trait Implementations§
Source§impl Clone for ExperienceDisposition
impl Clone for ExperienceDisposition
Source§fn clone(&self) -> ExperienceDisposition
fn clone(&self) -> ExperienceDisposition
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for ExperienceDisposition
Source§impl Debug for ExperienceDisposition
impl Debug for ExperienceDisposition
Source§impl<'de> Deserialize<'de> for ExperienceDisposition
impl<'de> Deserialize<'de> for ExperienceDisposition
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>,
impl Eq for ExperienceDisposition
Source§impl PartialEq for ExperienceDisposition
impl PartialEq for ExperienceDisposition
Source§impl Serialize for ExperienceDisposition
impl Serialize for ExperienceDisposition
impl StructuralPartialEq for ExperienceDisposition
Auto Trait Implementations§
impl Freeze for ExperienceDisposition
impl RefUnwindSafe for ExperienceDisposition
impl Send for ExperienceDisposition
impl Sync for ExperienceDisposition
impl Unpin for ExperienceDisposition
impl UnsafeUnpin for ExperienceDisposition
impl UnwindSafe for ExperienceDisposition
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.