pub struct StatusOutput {
pub schema_version: String,
pub emitted_at: DateTime<Utc>,
pub runner: String,
pub runner_distro: Option<String>,
pub fallback_used: bool,
pub canonicalization_version: String,
pub canonicalization_backend: String,
pub artifacts: Vec<ArtifactInfo>,
pub last_receipt_path: String,
pub effective_config: BTreeMap<String, ConfigValue>,
pub lock_drift: Option<LockDrift>,
pub pending_fixups: Option<PendingFixupsSummary>,
}Expand description
Status output for a spec, matching schemas/status.v1.json.
StatusOutput provides comprehensive status information about a spec’s current state,
including artifacts, configuration, and any detected drift from locked values.
This is a stable public type. Changes in 1.x releases are additive only.
§Schema
This type conforms to schemas/status.v1.json and is emitted using JCS (RFC 8785)
canonicalization for stable, deterministic JSON output.
§Example
use chrono::Utc;
use std::collections::BTreeMap;
use xchecker_utils::types::{ConfigValue, StatusOutput};
let status = StatusOutput {
schema_version: "1".to_string(),
emitted_at: Utc::now(),
runner: "native".to_string(),
runner_distro: None,
fallback_used: false,
canonicalization_version: "yaml-v1,md-v1".to_string(),
canonicalization_backend: "jcs-rfc8785".to_string(),
artifacts: Vec::new(),
last_receipt_path: "receipts/latest.json".to_string(),
effective_config: BTreeMap::<String, ConfigValue>::new(),
lock_drift: None,
pending_fixups: None,
};
println!("Schema version: {}", status.schema_version);
println!("Artifacts: {}", status.artifacts.len());§Fields
schema_version: Always"1"for this schema versionemitted_at: RFC3339 UTC timestamp when status was generatedrunner: Execution mode ("native"or"wsl")artifacts: List of artifacts with BLAKE3 hashes (first 8 chars)effective_config: Configuration values with source attributionlock_drift: Detected differences from locked values (if any)pending_fixups: Summary of pending code changes (if any)
Fields§
§schema_version: StringSchema version for this status format (always "1" for v1).
emitted_at: DateTime<Utc>RFC3339 UTC timestamp when the status was emitted.
runner: StringRunner mode used for Claude CLI execution ("native" or "wsl").
runner_distro: Option<String>WSL distribution name if runner is "wsl".
fallback_used: boolWhether fallback to text format was used during LLM invocation.
canonicalization_version: StringVersion of the canonicalization algorithm used (e.g., "yaml-v1,md-v1").
canonicalization_backend: StringBackend used for canonicalization (e.g., "jcs-rfc8785").
artifacts: Vec<ArtifactInfo>Artifacts with path and blake3_first8 hash (sorted by path).
last_receipt_path: StringPath to the most recent receipt file.
effective_config: BTreeMap<String, ConfigValue>Effective configuration with source attribution (cli, config, programmatic, or default).
lock_drift: Option<LockDrift>Lock drift information if lockfile exists and drift is detected.
pending_fixups: Option<PendingFixupsSummary>Pending fixup summary (counts only, no file contents).
Trait Implementations§
Source§impl Clone for StatusOutput
impl Clone for StatusOutput
Source§fn clone(&self) -> StatusOutput
fn clone(&self) -> StatusOutput
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more