ui: redesign the web UI as a control center — dashboard, pipeline, session inspector#103
Merged
Merged
Conversation
…ssion inspector
Rebuild the goaly ui SPA (src/ui/web/) around a mission-control layout while
keeping the hardened server/API layer untouched:
- Mission dashboard: fleet KPI tiles (live / awaiting-seal / done / failed /
tokens) over a run board grouped by root, with live-state chips and a
header fleet lamp polling across every root.
- Run detail: a pipeline strip mapping the orchestrator state onto
plan → compile → seal → prep → (agent → verify → sign-off)⟳ → done, stat
tiles with a budget spend meter, the contract rendered as its rung ladder
with the two-keys callout, an iteration timeline, and an operate card with
copyable --resume / harness-session commands.
- Session inspector (new tab): the recorded stream transcript rendered as
the agent's actual turns — messages, reasoning, tool calls with expandable
inputs/results and ok/error states, usage, turn boundaries — filterable by
seam and streaming live over SSE ("jump inside the session").
- Event feed and Seal review station restyled; start-run form reorganized as
a stepped launch console; tab-aware hash routes (#/runs/:id/{session,feed}).
- New pure helpers in format.ts (fmtTokens/fmtDuration/fmtAgo/pipelineStageOf)
and session.ts pairToolResults, covered by tests.
No server/API changes; disk stays the source of truth and the frozen bar
stays unreachable from the browser. Docs synced (README, reference, landing).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011PS1UUhngVxaQLLpuQ348N
…line animations Visual-only pass over the SPA stylesheet (plus a `live` class hook on the pipeline strip): - Chrome moves to translucent blue: hairline borders at ~14% opacity blue, frosted panels (backdrop-blur over a blue-tinted grid), blue accent for everything interactive/live; verdict colors stay semantic (green pass, red fail, amber parked). - Console typography: monospace-first body, `$ ` prompts on goals, `»`/`▸` section headers with fading rule lines, `/`-prefixed nav, lowercase tabs. - Line animations: a scanning highlight sweeps the top edge of live surfaces (live board rows, hot KPI tile, live pipeline), and lit pipeline connectors run a flowing-dash animation while the run is live. - Run board rows now use fixed trailing grid tracks so iter/token/time/id columns align across rows (auto tracks sized per-row before). No markup/behavior changes beyond the pipeline live class; server/API untouched. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011PS1UUhngVxaQLLpuQ348N
krimvp
enabled auto-merge
July 10, 2026 11:36
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Rebuild the goaly ui SPA (src/ui/web/) around a mission-control layout while
keeping the hardened server/API layer untouched:
tokens) over a run board grouped by root, with live-state chips and a
header fleet lamp polling across every root.
plan → compile → seal → prep → (agent → verify → sign-off)⟳ → done, stat
tiles with a budget spend meter, the contract rendered as its rung ladder
with the two-keys callout, an iteration timeline, and an operate card with
copyable --resume / harness-session commands.
the agent's actual turns — messages, reasoning, tool calls with expandable
inputs/results and ok/error states, usage, turn boundaries — filterable by
seam and streaming live over SSE ("jump inside the session").
a stepped launch console; tab-aware hash routes (#/runs/:id/{session,feed}).
and session.ts pairToolResults, covered by tests.
No server/API changes; disk stays the source of truth and the frozen bar
stays unreachable from the browser. Docs synced (README, reference, landing).
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_011PS1UUhngVxaQLLpuQ348N