pub struct RunOutcome {
pub run_id: String,
pub session_id: String,
pub result: RunResult,
pub usage: TokenUsage,
pub cost_usd: Option<f64>,
pub final_text: String,
pub report: Option<WorkerReport>,
pub validator_report: Option<ValidatorReport>,
pub exit: SessionExit,
pub denied_count: u32,
pub denied_commands: Vec<String>,
pub denied_egress: Vec<EgressDenial>,
}Expand description
Everything the engine learns from one completed session.
Fields§
§run_id: String§session_id: StringSession id actually in use (== spec session id unless resumed).
result: RunResult§usage: TokenUsage§cost_usd: Option<f64>§final_text: StringText of the last Result event (report JSON lives here), credential-
scrubbed like every other model-authored string the engine persists.
report: Option<WorkerReport>Parsed from final_text when the role is Role::Worker.
validator_report: Option<ValidatorReport>Parsed from final_text when the role is a validator.
exit: SessionExit§denied_count: u32Guardrail hits: denied tool results seen in the stream (§4.7).
denied_commands: Vec<String>Distinct denied SHELL commands (Bash), each correlated from the tool
call that was blocked — the candidates a grant could unblock
(grant-request-decision-flow). Captured for validator runs, whose
denials are allow-set misses that extending command_grants clears;
scrubbed + bounded + de-duplicated. ToolResult carries no tool-use id
on the Claude backend, so this is the command from the immediately
preceding ToolUse (a denied result follows its call in the stream).
denied_egress: Vec<EgressDenial>Egress destinations the run’s filtering proxy refused (fs+net
sessions only; see crate::egress_proxy), in first-seen order — the
trigger the egress grant flow parks on. Empty when the run routed
through no proxy (unsandboxed, fs/off, bubblewrap, or container
--network none). Mirrors denied_commands’ shape.
Trait Implementations§
Source§impl Clone for RunOutcome
impl Clone for RunOutcome
Source§fn clone(&self) -> RunOutcome
fn clone(&self) -> RunOutcome
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more