#[non_exhaustive]#[repr(u8)]pub enum ObserverTrapClass {
Panic = 0,
BudgetExceeded = 1,
CapabilityDenied = 2,
Other = 3,
}Expand description
Trap classification for ObserverQuarantine — surfaced into the
chain-anchored receipt so replay + audit can distinguish each
sandbox-boundary failure mode.
Wire-stable enum (mirrors RuntimeSignatureClass / ComplianceTier):
#[repr(u8)] + #[non_exhaustive] so additive expansion is
non-breaking. Each variant has a fixed discriminant so the postcard
wire format stays stable across schema-version bumps.
Mirrored as a host-internal type by arkhe_forge_platform::observer_host
(re-exports this same enum). Single source of truth lives here in
arkhe-forge-core because the value enters the L0 chain via the
ObserverQuarantine event.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Panic = 0
wasm panic / cranelift trap — observer code itself faulted.
BudgetExceeded = 1
Fuel exhaustion — observer exceeded the per-invocation budget.
CapabilityDenied = 2
Observer attempted to call a host-fn for which the active per-invocation capability set lacks the matching token.
Other = 3
Catch-all for cranelift trap variants not classified above (incl. operator host-config errors like “no capability impl registered” — distinguished only at audit-log granularity).
Trait Implementations§
Source§impl Clone for ObserverTrapClass
impl Clone for ObserverTrapClass
Source§fn clone(&self) -> ObserverTrapClass
fn clone(&self) -> ObserverTrapClass
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ObserverTrapClass
impl Debug for ObserverTrapClass
Source§impl<'de> Deserialize<'de> for ObserverTrapClass
impl<'de> Deserialize<'de> for ObserverTrapClass
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>,
Source§impl PartialEq for ObserverTrapClass
impl PartialEq for ObserverTrapClass
Source§fn eq(&self, other: &ObserverTrapClass) -> bool
fn eq(&self, other: &ObserverTrapClass) -> bool
self and other values to be equal, and is used by ==.