← All posts

A chat that shows its work

vocion-v2.1.5 makes agent chat legible and safe: a typed hierarchical Activity trace with tool drill-in, true token streaming, inline [n] citations with a two-level Sources drawer, recommended-action cards that land in human review, and a never-auto-send guard on outbound email.

Vocion Teamvocion-v2.1.5

Until now, agent chat was opaque in three ways at once. You asked a question, watched a spinner, and got the whole answer dumped in one block — the runtime buffered the full reply before emitting a single delta. Whatever the agent did in the meantime — which tools it called, what a delegated specialist actually searched — was invisible, because the old event projection threw away everything a subagent did internally. And when the answer arrived, its claims were unverifiable: no way to tap a sentence and see which document backed it. vocion-v2.1.5 (the 2026-07-20 through 2026-07-24 sprint) rebuilds the chat surface around one idea: the agent shows its work, and a human signs off before anything leaves the building.

What's new

Why we built it

An agent you can't inspect is an agent you can't trust with real work. Every feature here is the same move: replace "trust me" with structure. The trace is typed data, not prose about what happened. Citations are per-actor and persistent, not decorative. Streaming means you watch the answer form instead of auditing it after the fact.

The never-auto-send guard deserves its own paragraph, because it's safety as structure, not prompting. No prompt tells the agent to be careful with email — instead, the action layer itself refuses to auto-execute gmail.send or send_email, regardless of any configured trust rule. Outbound messages to real people always land in the review queue, where a human edits, then approves, then sends. It fails safe: the only failure mode is an item waiting for you. We'll revisit this only once trust reporting and explicit opt-in exist — until then, the guard is not configurable off.

Where to find it

Chat lives at /dashboard/chat. The Activity trace renders inline on desktop and as a bottom drawer on mobile; the Sources drawer opens from any [n] superscript or the Sources pill. Gated sends appear in the review queue with editable drafts and "Approve & send". In code: packages/core/src/services/agents/traceEmitter.ts, packages/core/src/features/dashboard/chat/{WorkTimeline,SourcesPanel,RecommendedActionStack}.tsx, and stream resume at /rpc/agent/stream/resume.