pub enum WhyVerdict {
Explained,
Healthy,
Impaired,
}Expand description
The report’s overall reading — what the CLI exits with (see the module doc’s exit table).
Variants§
Explained
An explanation of the silence was established (exit 0).
Healthy
No cause, and everything checked looks healthy (exit 1).
Impaired
No cause, and the observation was impaired: an input this ladder wanted could not be obtained, so “healthy” cannot be claimed (exit 2).
Implementations§
Source§impl WhyVerdict
impl WhyVerdict
Sourcepub fn to_judgement(self) -> Judgement
pub fn to_judgement(self) -> Judgement
The Judgement mapping (RFC 13,
v1.24), and it is THE inverted one — read this before wiring exit
codes: Explained is established-finding (Established), because
the thing why establishes is a cause — a finding about the fleet —
even though this family’s own historical CLI contract exits 0 for
it (the module doc’s table). The RFC 13 exit projection
(crate::report::judgement_exit_code) therefore gives why’s
three verdicts 1 / 0 / 2 in this order — the flip between the two
contracts is carried here, at the mapping, never special-cased by
a consumer downstream.
| verdict | judgement | RFC 13 exit | historical zenctl why exit |
|---|---|---|---|
Explained | Established (finding) | 1 | 0 |
Healthy | NotEstablished (clean) | 0 | 1 |
Impaired | Unobservable | 2 | 2 |
Trait Implementations§
Source§impl Clone for WhyVerdict
impl Clone for WhyVerdict
Source§fn clone(&self) -> WhyVerdict
fn clone(&self) -> WhyVerdict
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for WhyVerdict
Source§impl Debug for WhyVerdict
impl Debug for WhyVerdict
impl Eq for WhyVerdict
Source§impl From<Judgement> for WhyVerdict
The inverse of WhyVerdict::to_judgement, same (inverted) polarity:
an established finding is Explained, established-clean is Healthy,
and both unestablished poles fold to Impaired — a ladder nobody asked
is exactly a ladder that cannot claim health.
impl From<Judgement> for WhyVerdict
The inverse of WhyVerdict::to_judgement, same (inverted) polarity:
an established finding is Explained, established-clean is Healthy,
and both unestablished poles fold to Impaired — a ladder nobody asked
is exactly a ladder that cannot claim health.
Source§fn from(j: Judgement) -> WhyVerdict
fn from(j: Judgement) -> WhyVerdict
Source§impl PartialEq for WhyVerdict
impl PartialEq for WhyVerdict
Source§impl Serialize for WhyVerdict
impl Serialize for WhyVerdict
impl StructuralPartialEq for WhyVerdict
Auto Trait Implementations§
impl Freeze for WhyVerdict
impl RefUnwindSafe for WhyVerdict
impl Send for WhyVerdict
impl Sync for WhyVerdict
impl Unpin for WhyVerdict
impl UnsafeUnpin for WhyVerdict
impl UnwindSafe for WhyVerdict
Blanket Implementations§
Source§impl<Source> AccessAs for Source
impl<Source> AccessAs for Source
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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<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