Skip to content

Task Event Cursors

Durable task-status projection progress and reconnecting task event streams.

For people running agent work7 pages in this section

Task events remain the source for status projections and live updates. A consumer cursor records how far one projection has processed the durable event stream. It does not grant task or run authority.

Projection progress

The runtime retains notification_cursors for the task-status projection. Its consumer identity, stream, subject, and sequence isolate independent projections. Advancing a cursor never claims a run, changes a lease, completes a task, or submits a review verdict.

SSE resume seeding

Event-bearing task list, detail, and dashboard payloads include latest_event_seq, the maximum durable task-event sequence for the task, or 0 when there are no events. Clients open /api/tasks/{id}/stream?after_sequence=<latest_event_seq> from the rendered read payload to cover events that arrive between the initial read and stream subscription.

The endpoint emits standard SSE message frames. Parse each frame's JSON and dispatch on its type field. On reconnect, Last-Event-ID takes precedence over after_sequence, including the literal value 0. An invalid Last-Event-ID is rejected rather than replaced with the query value.

latest_event_seq is a read projection, separate from the stored projection cursor. Inspect the stream state from the task's Inspect → Stream pane.

On this page