pub enum HostRequestOutcomeV1 {
Executed,
Failed {
error: String,
},
}Expand description
Whether a Granted host request’s underlying operation actually ran
without an I/O or execution problem – see [ObservationKindV1:: HostRequestObserved]. Mirrors gate4agent’s own HostRequestOutcome
one-for-one; see HostDecisionAuthorityV1’s doc comment for why this
crate keeps its own copy rather than importing it.
Only meaningful paired with HostRequestDecisionV1::Granted: a Denied
or Deferred request never attempted its underlying operation, so it is
always Executed there for lack of anything to have failed running.
Variants§
Executed
No execution problem – either the request ran cleanly, or (for
Denied/Deferred) no execution was ever attempted to fail.
Failed
The request was authorized but failed while running it. error is
the bounded underlying I/O/execution failure text (e.g. an OS error
from a spawn call) – never a policy/gate refusal message, which
stays on ObservationKindV1::HostRequestObserved’s own audit trail
via the sibling ActionBlocked observation instead. This is NEVER a
Denied decision in disguise: a gate/policy/deadline refusal is
HostRequestDecisionV1::Denied, never Granted paired with
Failed – the two answer different questions (“was this allowed”
versus “did doing it succeed”) and must never be folded into one.
Trait Implementations§
Source§impl Clone for HostRequestOutcomeV1
impl Clone for HostRequestOutcomeV1
Source§impl Debug for HostRequestOutcomeV1
impl Debug for HostRequestOutcomeV1
Source§impl Default for HostRequestOutcomeV1
impl Default for HostRequestOutcomeV1
Source§fn default() -> Self
fn default() -> Self
Backs ObservationKindV1::HostRequestObserved::outcome’s
#[serde(default)] – a durable record written before this field
existed (pre-K1d) never recorded an execution failure at all, so an
observed HostRequestObserved from that era always meant the
request ran; see that field’s own doc comment.