pub enum Exit {
Clean,
FoundIssues,
Unanalyzed,
CacheMiss,
}Expand description
How the process terminated.
Load-bearing, not cosmetic: a gate that cannot tell “clean” apart from “could not analyze” green-lights a commit whenever the LLM endpoint is unreachable, which is worse than having no gate at all.
Variants§
Clean
Analysis completed and found nothing at or above the gating threshold.
FoundIssues
Analysis completed and found issues that block.
Unanalyzed
One or more files could not be analyzed. Never reported as clean.
CacheMiss
Cache-only review found work that has not been reviewed yet.
Distinct from Self::Unanalyzed so the pre-push hook can warm the
missing entries and deliberately stop before Git resumes an idle remote
connection. The next push is then a fast cache lookup.
Implementations§
Source§impl Exit
impl Exit
Sourcepub const fn code(self) -> u8
pub const fn code(self) -> u8
The process exit status.
Hook scripts and CI branch on these numbers, so they are public API.
Note that clap exits 2 on a usage error without passing through this type, so a caller seeing 2 cannot tell a bad flag from a failed analysis. That collision is deliberate and safe: both mean “do not let this commit through”. The distinction to protect is 0 from everything else, not 1 from 2.
Trait Implementations§
impl Copy for Exit
impl Eq for Exit
impl StructuralPartialEq for Exit
Auto Trait Implementations§
impl Freeze for Exit
impl RefUnwindSafe for Exit
impl Send for Exit
impl Sync for Exit
impl Unpin for Exit
impl UnsafeUnpin for Exit
impl UnwindSafe for Exit
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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
key and return true if they are equal.