pub enum PreCheckStrategy {
Always,
GitDiff {
watch_paths: Vec<String>,
},
GiteaIssue {
issue_number: u64,
},
Shell {
script: String,
timeout_secs: u64,
},
}Expand description
Strategy for gating agent spawns. All strategies fail-open: if the check itself fails, the agent spawns anyway.
Variants§
Always
Always spawn the agent. No gating.
GitDiff
Check git diff between last recorded commit and HEAD. Only spawn if changed files match watch_paths prefixes.
GiteaIssue
Query latest comments on a Gitea issue. Skip if PASS verdict and no new commits since.
Shell
Run an arbitrary shell command via sh -c. Exit 0 + non-empty stdout = Findings; Exit 0 + empty stdout = NoFindings; Non-zero exit or timeout = Failed (fail-open).
Trait Implementations§
Source§impl Clone for PreCheckStrategy
impl Clone for PreCheckStrategy
Source§fn clone(&self) -> PreCheckStrategy
fn clone(&self) -> PreCheckStrategy
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 PreCheckStrategy
impl Debug for PreCheckStrategy
Source§impl<'de> Deserialize<'de> for PreCheckStrategy
impl<'de> Deserialize<'de> for PreCheckStrategy
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
Source§impl PartialEq for PreCheckStrategy
impl PartialEq for PreCheckStrategy
Source§fn eq(&self, other: &PreCheckStrategy) -> bool
fn eq(&self, other: &PreCheckStrategy) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl Serialize for PreCheckStrategy
impl Serialize for PreCheckStrategy
impl StructuralPartialEq for PreCheckStrategy
Auto Trait Implementations§
impl Freeze for PreCheckStrategy
impl RefUnwindSafe for PreCheckStrategy
impl Send for PreCheckStrategy
impl Sync for PreCheckStrategy
impl Unpin for PreCheckStrategy
impl UnsafeUnpin for PreCheckStrategy
impl UnwindSafe for PreCheckStrategy
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,
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