wyrd-spec 0.1.1

Wyrd foundation types: Card envelope, SpecKinds, and pure data contracts.
//! Eval runtime status values shared by the primitive surface.

use serde::{Deserialize, Serialize};

/// Lifecycle status of an eval record as it moves through the runtime inbox.
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize, schemars::JsonSchema)]
#[cfg_attr(feature = "server", derive(utoipa::ToSchema))]
#[serde(rename_all = "snake_case")]
pub enum EvalStatus {
    /// Enqueued and not yet claimed by an eval worker.
    Pending,
    /// Waiting for upstream trace data before evaluation can continue.
    AwaitingTrace,
    /// Claimed and currently being evaluated.
    Processing,
    /// Completed successfully, including pass or fail outcomes.
    Completed,
    /// Reached a terminal failure state.
    Failed,
    /// Exhausted retries and moved to dead-letter storage.
    DeadLettered,
}