pub struct DecisionStatement {Show 14 fields
pub type_: String,
pub timestamp: String,
pub actor: String,
pub parent_id: Option<String>,
pub model: Option<String>,
pub model_version: Option<String>,
pub provider: Option<String>,
pub tokens_in: Option<u64>,
pub tokens_out: Option<u64>,
pub prompt_digest: Option<String>,
pub summary: Option<String>,
pub confidence: Option<f64>,
pub alternatives: Option<Vec<String>>,
pub meta: Option<Value>,
}Expand description
Records an agent’s reasoning and decision context.
This is the “why” layer – agents provide this explicitly to explain inference decisions, model usage, and confidence levels.
Fields§
§type_: StringAlways TYPE_DECISION
timestamp: StringRFC 3339 timestamp, set at sign time.
actor: StringDID-style actor URI. e.g. “agent://analyst”
parent_id: Option<String>Links this artifact to its parent in the chain.
model: Option<String>Model used for inference. e.g. “claude-opus-4-7”, “kimi-k2”, “gpt-5”
model_version: Option<String>Model version if known.
provider: Option<String>Provider that hosts the model. e.g. “anthropic”, “moonshot”, “openai”, “google”, “meta”, “mistral”, “ollama”.
Distinct from model: a “surface” (the runtime that runs the
agent loop – Claude Code, Cursor, Codex, OpenClaw, Hermes,
Cline) can be paired with any provider/model. Kimi for
example is model = "kimi-k2" with provider = "moonshot",
runnable from any surface that speaks OpenAI-compatible APIs.
Attributing both lets a downstream auditor reason about
surface, model, and provider independently.
Defaulted on deserialization so pre-v0.10.2 artifacts that were signed without provider still parse cleanly.
tokens_in: Option<u64>Number of input tokens consumed.
tokens_out: Option<u64>Number of output tokens produced.
prompt_digest: Option<String>SHA-256 digest of the full prompt (not the prompt itself).
summary: Option<String>Human-readable summary of the decision.
confidence: Option<f64>Confidence level 0.0-1.0 if the agent provides it.
alternatives: Option<Vec<String>>Other options the agent considered.
meta: Option<Value>Arbitrary additional metadata.
Implementations§
Trait Implementations§
Source§impl Clone for DecisionStatement
impl Clone for DecisionStatement
Source§fn clone(&self) -> DecisionStatement
fn clone(&self) -> DecisionStatement
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more