Skip to content

Runtime status surface

Runtime Status makes agent execution legible before, during, and after streamed answer text. Its goal is credible feedback, not decorative activity.

Standard states

StateMeaningAttention levelDefault UI
submittedClient accepted user input.LowPending message or placeholder.
bindingEvent listener or stream binding is being prepared.DebugHidden unless diagnosing.
queuedWork is waiting behind another task.MediumTask capsule with queue position.
routingRuntime is selecting model, tool, or route.LowCompact phase label.
preparingRuntime is building context or request.LowStable status row.
waiting_providerProvider request started; no model event yet.Medium after thresholdStatus row with elapsed time.
streamingAnswer text or process events are arriving.LowSubtle streaming indicator.
tool_runningA tool, command, browser, or external action is active.MediumTool step summary and optional interrupt.
action_requiredUser input or approval is required.HighCTA card and task capsule.
retryingRuntime is retrying a recoverable failure.MediumRetry count and reason.
failedTurn or task failed.HighRecoverable error card.
cancelledUser or runtime cancelled work.LowQuiet terminal state.
completedWork completed.LowCollapse status to summary or hide.

First-response rule

A client SHOULD show a credible state before first answer text. If the runtime cannot provide a stage yet, show submitted or preparing; do not leave the user facing a frozen surface.

A status is credible when it is tied to a real client or runtime milestone:

  • input accepted
  • stream listener bound
  • turn accepted
  • queued
  • runtime started
  • provider request started
  • first provider event received
  • first text delta received

Stable status row

The status row SHOULD avoid layout jumps. Recommended content:

  • short state label
  • elapsed time after a threshold
  • active tool or queue summary
  • interrupt or cancel hint when available
  • at most two lines of detail before overflow into a process surface

Attention rules

Only these states SHOULD aggressively draw attention:

  • action_required
  • failed
  • permission_required
  • plan_ready
  • stale_without_activity after a meaningful threshold

Normal routing, preparing, streaming, and tool_running states should remain visible but calm.

Diagnostics

A status surface SHOULD preserve diagnostics for slow paths:

MetricMeaning
submit_to_status_msUser submit to first credible status.
submit_to_first_event_msUser submit to first runtime event.
submit_to_first_text_msUser submit to first answer text.
first_text_to_paint_msRendering delay after first text.
last_event_age_msTime since last runtime event.

Diagnostics can be hidden in normal UI, but they should be available to developers and evidence surfaces.

Draft runtime-first standard for agent interaction surfaces.