pub enum SelectionReason {
Show 14 variants
Success,
NoWorkersConfigured,
AllWorkersUnreachable,
AllCircuitsOpen,
AllWorkersBusy,
NoWorkersPassedHealth,
AllWorkersFailedPreflight,
AllWorkersFailedConvergence,
NoAdmissibleWorkers(String),
NoMatchingWorkers,
NoWorkersWithRuntime(String),
SelectionError(String),
AffinityPinned,
AffinityFallback,
}Expand description
Reason for worker selection result.
Provides context when no worker is available, enabling informative fallback messages in the hook.
Variants§
Success
Worker assigned successfully.
NoWorkersConfigured
No workers configured in workers.toml.
AllWorkersUnreachable
All workers are unreachable (failed health checks).
AllCircuitsOpen
All workers have circuits open (after repeated failures).
AllWorkersBusy
All workers are at capacity (no available slots).
NoWorkersPassedHealth
Workers were present but none passed selection health thresholds.
AllWorkersFailedPreflight
All candidate workers failed hard preflight checks.
AllWorkersFailedConvergence
All candidate workers failed repo convergence checks (repos missing/stale/failed).
NoAdmissibleWorkers(String)
Workers exist but admission was blocked by concrete capacity/preflight reasons.
NoMatchingWorkers
No workers match required tags or preferences.
NoWorkersWithRuntime(String)
No workers have the required runtime (e.g., Bun, Node).
SelectionError(String)
Internal error during selection.
AffinityPinned
Worker assigned via affinity pinning (recent successful build).
AffinityFallback
Worker assigned via last-success fallback (all others unavailable).
Trait Implementations§
Source§impl Clone for SelectionReason
impl Clone for SelectionReason
Source§fn clone(&self) -> SelectionReason
fn clone(&self) -> SelectionReason
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SelectionReason
impl Debug for SelectionReason
Source§impl<'de> Deserialize<'de> for SelectionReason
impl<'de> Deserialize<'de> for SelectionReason
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>,
Source§impl Display for SelectionReason
impl Display for SelectionReason
Source§impl JsonSchema for SelectionReason
impl JsonSchema for SelectionReason
Source§fn schema_name() -> String
fn schema_name() -> String
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn is_referenceable() -> bool
fn is_referenceable() -> bool
$ref keyword. Read moreSource§impl PartialEq for SelectionReason
impl PartialEq for SelectionReason
Source§fn eq(&self, other: &SelectionReason) -> bool
fn eq(&self, other: &SelectionReason) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for SelectionReason
impl Serialize for SelectionReason
impl Eq for SelectionReason
impl StructuralPartialEq for SelectionReason
Auto Trait Implementations§
impl Freeze for SelectionReason
impl RefUnwindSafe for SelectionReason
impl Send for SelectionReason
impl Sync for SelectionReason
impl Unpin for SelectionReason
impl UnsafeUnpin for SelectionReason
impl UnwindSafe for SelectionReason
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§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.