#[non_exhaustive]pub enum CheckKind {
ManifestSchema,
GitignoreSync,
OnDiskDrift,
ConfigLint,
SyntheticPack,
QuarantineGc,
QuarantineRestore,
ParentGitTracksPackContent,
}Expand description
Which check produced this finding.
Marked #[non_exhaustive] so future check kinds (additional
quarantine ops, plugin-contributed checks, etc.) can be added in a
PATCH release without breaking out-of-crate match consumers. Within
grex-core every match arm is exhaustive.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
ManifestSchema
Manifest JSONL schema / corruption.
GitignoreSync
Gitignore managed block drift vs manifest-declared patterns.
OnDiskDrift
Directory listed in manifest missing, or dir present but not registered.
ConfigLint
Opt-in config lint (--lint-config only).
SyntheticPack
Per-pack synthetic-status row — emitted only for v1.1.1
plain-git children whose lockfile entry has synthetic: true.
Always reports OK (synthetic); downstream JSON consumers see
the synthetic: true flag on the finding.
QuarantineGc
v1.2.5 — quarantine GC status. Reports OK on a clean trash
bucket (no entries, or all within the retention window) and an
Info-severity Warning carrying the stale-entry count when the
bucket holds entries older than --retain-days N.
QuarantineRestore
v1.2.5 — quarantine restore status. Surfaced exclusively by the
--restore-quarantine TS[:BASENAME] op (operator-requested
snapshot rehydration). Distinct from CheckKind::QuarantineGc
so JSON consumers can branch on restore vs gc outcomes
without parsing the human-readable detail string.
ParentGitTracksPackContent
v1.3.1 (B12) — advisory: a pack directory under the meta-repo
is present in the parent git index (git ls-files returns a
match). The advisory is informational only: it carries
Severity::Ok so the worst-severity exit-code roll-up is not
affected. Operators can dismiss the finding by adding the pack
path to the parent meta-repo’s .gitignore and (optionally)
running git rm --cached <pack> once. Doctor never auto-mutates
the parent meta-repo’s .gitignore — that contract is owned by
the operator.
Implementations§
Trait Implementations§
impl Copy for CheckKind
impl Eq for CheckKind
impl StructuralPartialEq for CheckKind
Auto Trait Implementations§
impl Freeze for CheckKind
impl RefUnwindSafe for CheckKind
impl Send for CheckKind
impl Sync for CheckKind
impl Unpin for CheckKind
impl UnsafeUnpin for CheckKind
impl UnwindSafe for CheckKind
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.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<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