pub enum ExecutionEvent {
Show 16 variants
Started {
execution_id: String,
at: DateTime<Utc>,
},
NodeStarted {
execution_id: String,
node_id: String,
at: DateTime<Utc>,
iteration: u32,
},
NodeSucceeded {
execution_id: String,
node_id: String,
at: DateTime<Utc>,
output: Value,
iteration: u32,
},
NodeFailed {
execution_id: String,
node_id: String,
at: DateTime<Utc>,
error: String,
iteration: u32,
},
NodeSkipped {
execution_id: String,
node_id: String,
at: DateTime<Utc>,
reason: String,
iteration: u32,
},
NodeLog {
execution_id: String,
node_id: String,
at: DateTime<Utc>,
stream: LogStream,
line: String,
},
ToolCall {
execution_id: String,
node_id: String,
at: DateTime<Utc>,
name: String,
summary: String,
},
IterationCapped {
execution_id: String,
node_id: String,
at: DateTime<Utc>,
visits: u32,
},
Paused {
execution_id: String,
at: DateTime<Utc>,
},
Resumed {
execution_id: String,
at: DateTime<Utc>,
},
AwaitingConfirmation {
execution_id: String,
node_id: String,
action: String,
at: DateTime<Utc>,
},
AiInvocation {
execution_id: String,
node_id: String,
at: DateTime<Utc>,
provider: String,
model: String,
input: String,
contract_version: Option<String>,
},
AiRoutingDecision {
execution_id: String,
node_id: String,
at: DateTime<Utc>,
decision: String,
confidence: Option<f64>,
threshold: String,
contract_version: String,
},
AiReviewRequired {
execution_id: String,
node_id: String,
at: DateTime<Utc>,
primary_output: String,
confidence: f64,
reasoning: Option<String>,
},
AiReviewResolved {
execution_id: String,
node_id: String,
at: DateTime<Utc>,
approved: bool,
},
Done {
execution_id: String,
at: DateTime<Utc>,
status: String,
},
}Variants§
Started
NodeStarted
Fields
NodeSucceeded
NodeFailed
NodeSkipped
NodeLog
Incremental log line emitted by streaming adapters (the shell adapter
is the first; future adapters can stream too). The Tauri side forwards
these as flow:execution payloads which the Log Panel renders live.
ToolCall
A model tool call dispatched inside an AI node’s in-node tool-use loop
(an ai node bound to adapters). Emitted by the tool dispatcher just
before the tool runs, so the UI shows live “editing X… running
tests…” granularity mid-turn - individual tool calls otherwise produce
no event, only node-level Started/Succeeded/Failed. UX/diagnostic layer
like ExecutionEvent::NodeLog: not persisted to the run store.
Fields
IterationCapped
A bounded loop hit the per-node visit cap and the node will not be
scheduled again. Diagnostic only - the run finishes with partial
status rather than aborting, so prior node outputs are preserved.
Paused
The run reached a node-boundary checkpoint while paused and is now suspended until resumed or cancelled. Diagnostic - lets the UI confirm that an in-flight node finished and the run is truly idle.
Resumed
A paused run was released and scheduling continues.
AwaitingConfirmation
A node about to run performs a destructive operation and the per-step
confirmation gate is enabled. The run self-pauses here until the user
confirms (resume) or cancels (stop). action is a human-readable
summary of what the node would do (e.g. “Delete file: build/”).
AiInvocation
An AI node is invoking its model. Records the model input as a system
event (RAO constraint 6.1). input is the post-sanitizer prompt; for
cloud nodes without auditContent it is a short preview, matching the
privacy posture of NodeSucceeded.output.
Fields
AiRoutingDecision
The engine routed a contract-bound AI output (RAO constraint 5/6).
decision is auto_approve / human_review / suppress /
contract_violation; threshold names the rule that applied, with its
configured value, so the trail shows why the route was taken.
Fields
AiReviewRequired
A contract-bound AI output landed in the human review band (or the
model set escalate). The run self-pauses until the gate is resolved
(resolve_ai_review) or the run is cancelled.
Fields
AiReviewResolved
A human resolved an AI review gate. Recorded as a system event (RAO checklist 6.4): human decisions are execution events.
Done
Trait Implementations§
Source§impl Clone for ExecutionEvent
impl Clone for ExecutionEvent
Source§fn clone(&self) -> ExecutionEvent
fn clone(&self) -> ExecutionEvent
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more