pub struct GovernanceDecisionEvent {
pub agent_id: String,
pub action: String,
pub decision: String,
pub effect_magnitude: f64,
pub threshold_exceeded: bool,
pub evaluated_rules: Vec<String>,
pub timestamp: DateTime<Utc>,
}Expand description
A governance decision event suitable for chain logging.
Captures the result of GovernanceEngine::evaluate for audit.
Fields§
§agent_id: StringAgent that made the request.
action: StringAction that was evaluated.
decision: StringThe governance decision outcome.
effect_magnitude: f64Effect vector magnitude.
threshold_exceeded: boolWhether the risk threshold was exceeded.
evaluated_rules: Vec<String>Rules that were evaluated.
timestamp: DateTime<Utc>Timestamp of the evaluation.
Trait Implementations§
Source§impl ChainLoggable for GovernanceDecisionEvent
impl ChainLoggable for GovernanceDecisionEvent
Source§fn chain_event_source(&self) -> &str
fn chain_event_source(&self) -> &str
The source subsystem (e.g. “supervisor”, “governance”, “ipc”).
Source§fn chain_event_kind(&self) -> &str
fn chain_event_kind(&self) -> &str
The event kind string (e.g. “agent.restart”, “governance.deny”).
Source§fn chain_event_payload(&self) -> Value
fn chain_event_payload(&self) -> Value
Build the JSON payload for the chain event.
Auto Trait Implementations§
impl Freeze for GovernanceDecisionEvent
impl RefUnwindSafe for GovernanceDecisionEvent
impl Send for GovernanceDecisionEvent
impl Sync for GovernanceDecisionEvent
impl Unpin for GovernanceDecisionEvent
impl UnsafeUnpin for GovernanceDecisionEvent
impl UnwindSafe for GovernanceDecisionEvent
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
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