pub struct EnforcementInput {
pub rel_path: String,
pub file_record: Option<Value>,
pub gotcha_records: HashMap<String, Value>,
pub already_consulted: bool,
pub file_exists: Option<bool>,
}Expand description
Input to the enforcement decision engine.
Fields§
§rel_path: StringRepo-relative file path (e.g. "src/main.rs").
file_record: Option<Value>File record JSON from hook_evaluate, or None if no record.
gotcha_records: HashMap<String, Value>Gotcha records keyed by gotcha key, from hook_evaluate.
already_consulted: boolWhether this file was already consulted via mem_get this session.
file_exists: Option<bool>Caller’s own observation of whether rel_path exists on disk, checked
ONLY when the caller saw a FileDeleted staleness signal (that signal
is a stale snapshot — cleared only by the staleness sweep, so it can
outlive a delete-then-restore by many sessions). None means the
caller did not check (preserves prior behavior: the signal alone
bypasses enforcement). Some(true) means the path exists, so the
signal is stale and must NOT bypass enforcement. Some(false) means
the caller confirmed the path is really gone.
Auto Trait Implementations§
impl Freeze for EnforcementInput
impl RefUnwindSafe for EnforcementInput
impl Send for EnforcementInput
impl Sync for EnforcementInput
impl Unpin for EnforcementInput
impl UnsafeUnpin for EnforcementInput
impl UnwindSafe for EnforcementInput
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
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
impl<T> Fruit for T
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> ⓘ
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> ⓘ
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