pub struct ExecResponse {
pub local_or_remote: ExecutionLocation,
pub selected_worker: Option<String>,
pub is_compilation: bool,
pub family: Option<String>,
pub reason_code: Option<IncidentReasonCode>,
pub admission: Option<AdmissionRejectionSummary>,
pub disposition: ExecDisposition,
pub proof_mode: bool,
pub remediation: Vec<Recommendation>,
pub control: ControlState,
pub detail: String,
}Expand description
The composite rch exec machine response.
Fields§
§local_or_remote: ExecutionLocationDefinite execution location.
selected_worker: Option<String>The worker, present iff local_or_remote == Remote.
is_compilation: boolWhether the command classified as a compilation.
family: Option<String>Compilation family (e.g. cargo_build), when classified.
reason_code: Option<IncidentReasonCode>Decisive incident reason code, when there is one.
admission: Option<AdmissionRejectionSummary>Aggregated admission rejection summary, when admission was attempted.
disposition: ExecDispositionThe exec-policy disposition that produced this outcome.
proof_mode: boolWhether proof/strict mode was in force.
remediation: Vec<Recommendation>Next-action remediation (may be empty on success).
control: ControlStateCanonical placement control snapshot (requested_worker,
strict_remote_policy, queue_policy, visibility_mode,
wait_timeout_ms, target_dir_policy). Omitted from the wire form when
no control was explicitly set, so the simple-success contract is
unchanged. selected_worker above is the effective worker — the
pairing of requested-vs-effective is what makes a steered build visible
rather than a silent swap (bd-…remediation-ocv9i.13.5).
detail: StringConcise human/agent-facing detail.
Implementations§
Source§impl ExecResponse
impl ExecResponse
Sourcepub fn invariant_holds(&self) -> bool
pub fn invariant_holds(&self) -> bool
The contract invariant: a worker is recorded iff the location is remote.
Sourcepub fn remote_success(
worker: impl Into<String>,
family: impl Into<String>,
) -> Self
pub fn remote_success( worker: impl Into<String>, family: impl Into<String>, ) -> Self
A successful remote execution on worker.
Sourcepub fn local_fallback(
is_compilation: bool,
reason_code: IncidentReasonCode,
detail: impl Into<String>,
) -> Self
pub fn local_fallback( is_compilation: bool, reason_code: IncidentReasonCode, detail: impl Into<String>, ) -> Self
A local fallback (with the reason it fell back).
Sourcepub fn proof_refused(admission: AdmissionRejectionSummary) -> Self
pub fn proof_refused(admission: AdmissionRejectionSummary) -> Self
A fail-closed proof refusal (nothing ran), with the admission summary and derived remediation.
Sourcepub fn non_compilation_rejected() -> Self
pub fn non_compilation_rejected() -> Self
An explicit proof-mode non-compilation rejection.
Daemon unavailable — fell back to local (fail-open).
Sourcepub fn with_control(self, control: ControlState) -> Self
pub fn with_control(self, control: ControlState) -> Self
Attach the canonical placement control snapshot.
Sourcepub fn effective_worker(&self) -> Option<&str>
pub fn effective_worker(&self) -> Option<&str>
The effective worker the command ran on (an alias for
selected_worker, named to pair with the control’s requested_worker).
Trait Implementations§
Source§impl Clone for ExecResponse
impl Clone for ExecResponse
Source§impl Debug for ExecResponse
impl Debug for ExecResponse
Source§impl<'de> Deserialize<'de> for ExecResponse
impl<'de> Deserialize<'de> for ExecResponse
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>,
impl Eq for ExecResponse
Source§impl PartialEq for ExecResponse
impl PartialEq for ExecResponse
Source§impl Serialize for ExecResponse
impl Serialize for ExecResponse
impl StructuralPartialEq for ExecResponse
Auto Trait Implementations§
impl Freeze for ExecResponse
impl RefUnwindSafe for ExecResponse
impl Send for ExecResponse
impl Sync for ExecResponse
impl Unpin for ExecResponse
impl UnsafeUnpin for ExecResponse
impl UnwindSafe for ExecResponse
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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.