Skip to the content.

Live Agent Console — Validation Against Live Gateway (2026-08-24)

Verdict: validated (validated-with-notes). Console feed v1 works end-to-end against the production OpenClaw gateway with zero code changes required.

Setup

Isolated stack: PORT=13885 STORAGE_TYPE=json_snapshot DASHBOARD_AUTH_TOKEN=console-val-token node task-server.js (started by coder attempt r1; server log at /tmp/console-val-server.log). Production task-server on :3876 untouched throughout; :13885 killed after evidence capture.

Chain evidence

Frame evidence (live capture, session agent:qa-auditor:qa-cbb-pumps-g1, ~40s)

Per-session filtering

Second capture against a different session returned only its own frames; grep of the qa-auditor capture shows 0 frames whose sessionKey belongs to any other session. Fleet-wide traffic (~21 events/s) did not leak across sessions.

Secret redaction

grep -ci "password" on both captures = 0 hits. Gateway secret never appeared in frames.

Warts found (documented only — no code changes needed)

  1. Duplicate console:tool-end for the same toolCallId+seq observed back-to-back in the raw capture (seq 84 and 87 both terminal for call_07a110fa…). Harmless visually but a view-side dedupe on (toolCallId, kind) is worth adding when the view gets polish.
  2. First capture attached to a session that had just gone idle → immediate console:end {reason:"idle"} after : connected. Correct behavior, good to confirm the idle path fires in production conditions (unit-tested previously).
  3. No counters exposed for delivered/dropped frames (same wart as bridge v1; observability backlog item for both feeds).

Verdict

Validated. Roadmap Phase 1 “Live agent console” ticked on this basis (implementation 83919c4, validation this doc).