pub enum ProofState {
Queued,
Blocked,
Replaying,
Passed,
Failed,
Stale,
}Expand description
The published lifecycle state of a deferred proof intent.
Exactly the six states the bead requires. Queued and
Blocked are both “not running yet” but differ in
why: a queued intent waits for a transient condition (capacity, health,
pressure) the conveyor retries automatically; a blocked intent waits for a
structural condition (a capability gap, an unhonored placement) that time
alone will not clear.
Variants§
Queued
Recorded and waiting on a transient recovery (capacity, fleet health, pressure). The conveyor re-evaluates it every scan.
Blocked
Waiting on a structural condition (no worker can run this command, or a requested placement cannot be honored). Held until the condition changes.
Replaying
Cleared for genuine remote execution this scan.
Passed
Replayed remotely and the product succeeded. Terminal.
Failed
Replayed remotely and the product failed (compile/test error). Terminal — re-running an unchanged proof cannot change the result; a fix yields a new intent.
Stale
The recorded source/revision/age no longer matches; the intent can never be replayed as-is. Terminal.
Implementations§
Source§impl ProofState
impl ProofState
Sourcepub const ALL: &'static [ProofState]
pub const ALL: &'static [ProofState]
Every state, in stable declaration order (for coverage + iteration).
Sourcepub fn is_terminal(self) -> bool
pub fn is_terminal(self) -> bool
A terminal state never transitions to another state.
Sourcepub fn can_transition_to(self, next: ProofState) -> bool
pub fn can_transition_to(self, next: ProofState) -> bool
Whether a transition from self to next is legal. Self-transitions are
always legal (idempotent re-evaluation). Terminal states only transition
to themselves.
Trait Implementations§
Source§impl Clone for ProofState
impl Clone for ProofState
impl Copy for ProofState
Source§impl Debug for ProofState
impl Debug for ProofState
Source§impl<'de> Deserialize<'de> for ProofState
impl<'de> Deserialize<'de> for ProofState
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 ProofState
Source§impl PartialEq for ProofState
impl PartialEq for ProofState
Source§impl Serialize for ProofState
impl Serialize for ProofState
impl StructuralPartialEq for ProofState
Auto Trait Implementations§
impl Freeze for ProofState
impl RefUnwindSafe for ProofState
impl Send for ProofState
impl Sync for ProofState
impl Unpin for ProofState
impl UnsafeUnpin for ProofState
impl UnwindSafe for ProofState
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.