pub enum AutoWorkerDecision {
Minted,
Reminted,
Unchanged,
RecordedNotRunning,
OperatorStopped,
Retired,
OperatorRecord,
DarkOutbox,
UnrunnableHarness,
Failed,
}Expand description
What was decided about one task queue.
Variants§
Minted
No record served this queue, so one was minted and converged.
Reminted
The queue’s own auto record existed and named a DIFFERENT document, so it was replaced and its worker restarted onto the new one.
Unchanged
The queue’s own auto record already names this exact document. Nothing was written; the running worker was left alone and merely converged.
RecordedNotRunning
The record was written durably, and this server could NOT start it. The
record stands and the next boot’s reconcile honours it; detail carries
the supervision failure and its remedy.
Distinct from every arm above because those all claim a running worker, and claiming one that does not exist is the exact defect this whole lane exists to end — one layer up.
OperatorStopped
The queue’s own auto record was deliberately STOPPED by an operator, and their intent was preserved rather than reversed.
Retired
The document no longer declares this queue, so the record this server minted for it was withdrawn and its worker stopped.
OperatorRecord
A record the OPERATOR authored already serves this queue. Their record wins and nothing here touched or duplicated it.
DarkOutbox
This server binds no liminal worker listener, so a minted record would
dial nothing. Refused, with the [outbox] remedy in detail.
UnrunnableHarness
The document’s harness names an agent THIS host cannot launch — an
absent or non-executable agent binary, or a literal working directory
that does not exist here. Refused with the missing path named; the
deploy itself landed. Measured 2026-08-26 on the estate: a fleet
document deployed from a Linux box minted workers on the Mac server
whose harness named /home/aion/... paths, and every dispatch routed
to them burned an attempt on a spawn that could only fail.
Failed
Auto-provision could not be carried out. detail says what refused.
Implementations§
Source§impl AutoWorkerDecision
impl AutoWorkerDecision
Sourcepub const fn is_refusal(self) -> bool
pub const fn is_refusal(self) -> bool
Whether this outcome left the queue WITHOUT the built-in agent worker
the document asked for by declaring a harness section.
Three arms are deliberately NOT refusals, because in each of them a
person already decided: Self::OperatorRecord (their record serves
the queue), Self::OperatorStopped (they stopped it on purpose), and
Self::Retired (the document stopped declaring the queue).
Sourcepub const fn claims_running(self) -> bool
pub const fn claims_running(self) -> bool
Whether this outcome CLAIMS a running worker.
The claim is only ever made where a convergence returned success. It is separated from the decision because a record can be written correctly and still not run, and reporting those two as one thing is how a status surface comes to say a worker started when no process exists.
Trait Implementations§
Source§impl Clone for AutoWorkerDecision
impl Clone for AutoWorkerDecision
Source§fn clone(&self) -> AutoWorkerDecision
fn clone(&self) -> AutoWorkerDecision
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 AutoWorkerDecision
Source§impl Debug for AutoWorkerDecision
impl Debug for AutoWorkerDecision
Source§impl<'de> Deserialize<'de> for AutoWorkerDecision
impl<'de> Deserialize<'de> for AutoWorkerDecision
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 AutoWorkerDecision
Source§impl PartialEq for AutoWorkerDecision
impl PartialEq for AutoWorkerDecision
Source§impl Serialize for AutoWorkerDecision
impl Serialize for AutoWorkerDecision
impl StructuralPartialEq for AutoWorkerDecision
Auto Trait Implementations§
impl Freeze for AutoWorkerDecision
impl RefUnwindSafe for AutoWorkerDecision
impl Send for AutoWorkerDecision
impl Sync for AutoWorkerDecision
impl Unpin for AutoWorkerDecision
impl UnsafeUnpin for AutoWorkerDecision
impl UnwindSafe for AutoWorkerDecision
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
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<M> EmbeddedConversationMessage for Mwhere
M: Serialize,
impl<M> EmbeddedConversationMessage for Mwhere
M: Serialize,
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> IntoMaybeUndefined<T> for T
impl<T> IntoMaybeUndefined<T> for T
Source§fn into_maybe_undefined(self) -> MaybeUndefined<T>
fn into_maybe_undefined(self) -> MaybeUndefined<T>
Source§impl<T> IntoOption<T> for T
impl<T> IntoOption<T> for T
Source§fn into_option(self) -> Option<T>
fn into_option(self) -> Option<T>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request