pub struct CapabilityGovernance {
pub rules_engine: String,
pub enforced_actions: Vec<String>,
pub bypass_impossibility_tests: u32,
pub l1_6_attest: bool,
}Expand description
v0.7.0 L3-5 — substrate-rules governance capability surface.
Surfaces the L1-6 activation posture honestly:
rules_engine:"operator_signed"because the L1-6 loader refuses to honour anyenabled = 1rule that is notattest_level = 'operator_signed'and whose signature does not verify against the active operator pubkey (crate::governance::rules_storeL1-6 audit).enforced_actions: the actual variant set incrate::governance::agent_action::AgentActionminus theCustomextension point (extension points are not substrate-enforced). v0.7.0 ships four action kinds at the harness-mediated PreToolUse boundary.bypass_impossibility_tests: count of#[test]functions in [tests/governance_l16_activation.rs] verifying the bypass-impossibility properties (signature-required, tampered-sig rejected, direct-enabled-flip rejected, keygen 0600, idempotent sign-seed, rotated-key invalidates). The number reflects the test file as of v0.7.0 — bumping it requires an audit pass and a matching test addition.
Fields§
§rules_engine: String§enforced_actions: Vec<String>§bypass_impossibility_tests: u32§l1_6_attest: boolv0.7.0 SEC-2 (Cluster D, issue #767) — true when an operator
pubkey is resolved (env var or ~/.config/ai-memory/operator.key.pub)
AND therefore the L1-6 loader is in attest-enforcing mode (every
enabled = 1 row MUST be operator-signed to fire). false when
the substrate is in pre-L1-6 / fail-OPEN compat mode — every
enabled rule passes through without signature verification.
Clients that need to display the deployment’s enforcement
posture (operator dashboard, MCP-inspect tool, capabilities
summary) can render this flag verbatim. Defaults to false
for envelopes serialised before SEC-2 to preserve wire
compatibility.
Implementations§
Trait Implementations§
Source§impl Clone for CapabilityGovernance
impl Clone for CapabilityGovernance
Source§fn clone(&self) -> CapabilityGovernance
fn clone(&self) -> CapabilityGovernance
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for CapabilityGovernance
impl Debug for CapabilityGovernance
Source§impl<'de> Deserialize<'de> for CapabilityGovernance
impl<'de> Deserialize<'de> for CapabilityGovernance
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>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for CapabilityGovernance
Source§impl PartialEq for CapabilityGovernance
impl PartialEq for CapabilityGovernance
Source§fn eq(&self, other: &CapabilityGovernance) -> bool
fn eq(&self, other: &CapabilityGovernance) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl Serialize for CapabilityGovernance
impl Serialize for CapabilityGovernance
impl StructuralPartialEq for CapabilityGovernance
Auto Trait Implementations§
impl Freeze for CapabilityGovernance
impl RefUnwindSafe for CapabilityGovernance
impl Send for CapabilityGovernance
impl Sync for CapabilityGovernance
impl Unpin for CapabilityGovernance
impl UnsafeUnpin for CapabilityGovernance
impl UnwindSafe for CapabilityGovernance
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.impl<T> ErasedDestructor for Twhere
T: 'static,
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