What a step is. A closed enum mirroring §7.5's rows plus control handover (§7.4), artifact registration, recovery and the honest gap (§7.1: replay never invents what it did not receive). Counts ride the variant that needs them, bounded by type.
API reference sections
Schema
StepKind
Type object or object or object or object or object or object or object or object or object or object or object or object or object or object or object or object or object or object or object or object or object or object or object or object
Shape
One of 24 shapes:
step: "run_created"
The Run document was committed (§7.1 step 3).
Field Type Description steprequired "run_created" step: "started"
An attempt's provider is up.
Field Type Description steprequired "started" step: "turn_started"
Field Type Description originatorrequired TurnOriginator Who submitted a turn.
steprequired "turn_started" step: "tools_completed"
ToolCompletedevents, coalesced (§7.5: bounded, never one row per call).`failures` is what makes the count actionable - which tools failed and how, in tokens, bounded by type. An entry written before this build carries none, and reads as the counts alone: the same sentence it has always drawn, with nothing invented under it.
Field Type Description callsrequired integer (uint32, >= 0) failedrequired integer (uint32, >= 0) failures StoredToolFailures How the breakdown is written down: the listed pairs and the tail's count, both absent when there are none. A fixed array would store eight nulls in every entry; this stores nothing in the ordinary case.
steprequired "tools_completed" step: "approval_required"
Field Type Description steprequired "approval_required" step: "approval_resolved"
Field Type Description outcomerequired ApprovalOutcome How an approval ended.
steprequired "approval_resolved" step: "waiting_for_input"
Field Type Description steprequired "waiting_for_input" step: "attachment_accepted"
Field Type Description steprequired "attachment_accepted" step: "attachment_rejected"
Rejection is news (§7.5).
Field Type Description steprequired "attachment_rejected" step: "child_session_detected"
A child session appeared and was terminated (§7.3).
Field Type Description steprequired "child_session_detected" step: "turn_completed"
Field Type Description originatorrequired TurnOriginator Who submitted a turn.
artifacts_registeredrequired integer (uint32, >= 0) steprequired "turn_completed" step: "turn_cancelled"
Field Type Description originatorrequired TurnOriginator Who submitted a turn.
reasonrequired CancelReason Why a turn was cancelled (D36). Only `Run` terminalizes.
steprequired "turn_cancelled" step: "turn_failed"
Field Type Description originatorrequired TurnOriginator Who submitted a turn.
stagerequired FailureStage Why a start or a turn failed. A closed vocabulary - a stage, never a message - so a failure can be reported anywhere without carrying text.
steprequired "turn_failed" step: "interrupted"
A restart ended the attempt (§7.6).
Field Type Description prior_attemptrequired PriorAttempt What recovery could prove about the attempt a restart interrupted (§7.6).
steprequired "interrupted" step: "resumed"
Field Type Description viarequired ResumeSeam Which seam a resume went through (P1.9: the timeline says which).
steprequired "resumed" step: "control_taken"
The human lease was granted.
discoveredmarks a takeover recovery found already in place, timestamped at discovery (§7.4).Field Type Description discoveredrequired boolean steprequired "control_taken" step: "control_returned"
Field Type Description steprequired "control_returned" step: "artifact_registered"
Field Type Description steprequired "artifact_registered" step: "completed"
Field Type Description steprequired "completed" step: "failed"
Field Type Description stagerequired FailureStage Why a start or a turn failed. A closed vocabulary - a stage, never a message - so a failure can be reported anywhere without carrying text.
reason RunFailureReason or null steprequired "failed" step: "cancelled"
Field Type Description reasonrequired CancelReason Why a turn was cancelled (D36). Only `Run` terminalizes.
steprequired "cancelled" step: "rated"
Field Type Description ratingrequired Rating One gesture on a finished run (D44): good or not good. An unrated run is a normal state, which is why the header holds an
Option<RunRating>and this enum has no "unrated" arm.steprequired "rated" step: "gap"
Facts Koru never received - a provider tail evicted during delegate downtime.
events_lostwhen the eviction reported a count.Field Type Description events_lost integer (uint32, >= 0) or null steprequired "gap" step: "scope_busy"
A manual start proceeded onto a folder another run holds (D34, §7.8): the warning the person saw and overrode, as a step.
holderscounts the runs that held it; their attempts ride the refs.Field Type Description holdersrequired integer (uint32, >= 0) steprequired "scope_busy"
{
"step": "run_created"
}The contract has no example values, so example bodies are generated from each schema: every field is shown with a placeholder of its type.
Generated from contract version 1. Last updated .
