Run event
@kindgi/specs/run-event.schema.json, schema version 1.0.0.
Kernel-emitted lifecycle events for a specific run. Streamed over SSE to subscribers (browser via client SDK, admin UI, external observers). Distinct from the general Event type: RunEvents are always about a specific run, always emitted by the kernel, and are used by the run subscription API rather than the general subscription API.
eventId(string, required):<runId>:<sequence>; monotonic within the run. Used asLast-Event-Idfor SSE resumability.runId(string, required)tenantId(string, required)timestamp(string (date-time), required)kind("run.queued"|"run.started"|"run.step-started"|"run.step-completed"|"run.step-failed"|"run.step-retry-scheduled"|"run.iteration-started"|"run.iteration-completed"|"run.tool-invoked"|"run.tool-result"|"run.model-token"|"run.artifact-produced"|"run.guardrail-violated"|"run.wait-suspended"|"run.wait-resumed"|"run.approval-requested"|"run.approval-completed"|"run.completed"|"run.failed"|"run.cancelled", required)sequence(integer): Monotonic sequence within the run: the journal entry'ssequence(JournalEntry.sequencein@kindgi/runtime).nodeId(string): For step-scoped events: the flow node id.payload(object): Kind-specific payload. Model tokens carry text; guardrail-violated carries the guardrail id and evidence; approval-requested carries the token id and prompt; etc.