pub enum PermissionsMode {
Enforce,
Advisory,
Off,
}Expand description
Enforcement posture consulted by crate::db::enforce_governance.
v0.7.0 K3 — closes the v0.6.3.1 honest-Capabilities-v2 disclosure
that permissions.mode = "advisory" was advertised but the gate
itself returned Deny / Pending regardless. The gate now actually
honors this knob.
Wire format on config.toml:
[permissions]
mode = "advisory" # or "enforce" / "off"Variants§
Enforce
Block on policy violation. Deny/Pending decisions returned
to the caller as-is. The strict, audit-ready posture.
Advisory
Log a warning and allow the action. Governance metadata is recorded but does not block writes. Default for v0.7.0 to preserve the v0.6.x posture for upgrading operators.
Off
Skip the gate entirely. No policy resolution, no log, no
pending_actions row. Useful for benchmarking and temporary
freeze-thaw incident response.
Implementations§
Trait Implementations§
Source§impl Clone for PermissionsMode
impl Clone for PermissionsMode
Source§fn clone(&self) -> PermissionsMode
fn clone(&self) -> PermissionsMode
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 moreimpl Copy for PermissionsMode
Source§impl Debug for PermissionsMode
impl Debug for PermissionsMode
Source§impl Default for PermissionsMode
impl Default for PermissionsMode
Source§impl<'de> Deserialize<'de> for PermissionsMode
impl<'de> Deserialize<'de> for PermissionsMode
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 PermissionsMode
Source§impl PartialEq for PermissionsMode
impl PartialEq for PermissionsMode
Source§fn eq(&self, other: &PermissionsMode) -> bool
fn eq(&self, other: &PermissionsMode) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl Serialize for PermissionsMode
impl Serialize for PermissionsMode
impl StructuralPartialEq for PermissionsMode
Auto Trait Implementations§
impl Freeze for PermissionsMode
impl RefUnwindSafe for PermissionsMode
impl Send for PermissionsMode
impl Sync for PermissionsMode
impl Unpin for PermissionsMode
impl UnsafeUnpin for PermissionsMode
impl UnwindSafe for PermissionsMode
Blanket Implementations§
impl<T> Boilerplate for T
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