Observability

Runtime activity should be visible while it is happening.

Actions, agent steps, tool calls, background tasks, model calls, and data changes can be surfaced to users and recorded for inspection.

Live feedback

The user should see important work before the final result.

Agentic flows often include planning, tool calls, background work, and streamed output. The UI needs a place for those states.

Observability: actions, agent steps, tool calls, model calls, and data mutations streamed to the user and recorded for inspection
01

Stream updates

Actions can publish progress and UI changes to a stream id while work is still running.

02

Agent steps

Important on-message events can appear as ephemeral UI rows before the final persisted message.

03

Client parity

Web and desktop renderers consume the same UI effects, even when each client has different rendering constraints.

Audit surface

Every data mutation is recorded automatically, after commit.

Audit is not something feature code has to remember. The runtime captures persistent changes at the data layer and writes them to a single event sink with full actor context.

01

Automatic at the data layer

Inserts, updates, and deletes are captured on the database flush and emitted only after the transaction commits, so rolled-back work leaves no trail. Modules get this without writing any audit code.

02

Before / after and actor

Each mutation records column-level before and after state alongside the acting user, role, organization, session, request and correlation id, client address, and node.

03

Redacted and fingerprinted

Sensitive keys — passwords, tokens, secrets — are redacted. Large fields like content, markdown, and chunks are reduced to a size and SHA-256 fingerprint, keeping the record verifiable without storing the payload.

04

One sink, many event types

App events, auth events, data mutations, and AI usage, runtime, and pipeline steps flow through a single store with configurable retention and export.

Pipeline observability table with filters for steps, provider, model, status, and timing.
Pipeline list with provider, model, step, status, timing, and request context.
Pipeline detail screen with execution steps and a timeline view.
Pipeline detail view for reconstructing one request across steps and runtime events.

Client behavior

Streaming should update targeted UI, not rebuild whole pages.

This matters especially for chat and desktop rendering where large message lists can become expensive.

01

Append focused rows

Chat turns, tool steps, and generated components can be appended to the message list.

02

Replace ephemeral state

A running status row can be replaced as the agent moves from planning to tool calls to completion.

03

Keep persisted results separate

Temporary progress can disappear when the final response is saved, while errors remain visible.

Next

Related pages

Use these pages to move from the concept to adjacent parts of the runtime.