-
Notifications
You must be signed in to change notification settings - Fork 0
Goal Dashboard
The live UI for the autonomous goal runner. Ctrl+Shift+G to open.
Component: src/renderer/components/GoalDashboard.tsx. Also opens automatically when you click the Goals chip in the status bar.
┌─────────────────────────────────────────────────────────────────────┐
│ Goal Runner [2 running] [12 total] [+ New Goal] [Prune] [×] │
├──────────────┬──────────────────────────────────────────────────────┤
│ [All Active Finished] │
│ │ Detail header │
│ ┌──────────┐ │ [running] pane abc123 · risk=write_local │
│ │ Running │ │ Goal text… │
│ │ "Deploy" │ │ criterion: shell "curl -sf http://…" exits 0 │
│ │ 2m ago │ │ [Abort] │
│ │ 12 steps │ │ [Delete] │
│ └──────────┘ │ │
│ ┌──────────┐ │ Step log (autoscroll) │
│ │ Complete │ │ 0 [0s] declare_step OK │
│ │ "Tests" │ │ 1 [2s] write_to_terminal OK │
│ │ 1h ago │ │ 2 [15s] read_terminal_output OK │
│ │ 45 steps │ │ 3 [16s] verify_step OK │
│ └──────────┘ │ … │
│ │ │
│ ├──────────────────────────────────────────────────────┤
│ │ Critic & Verification rail │
│ │ critic:progressing ssh works, installing nginx │
│ │ critic:stuck same config edit 4× same error │
│ │ verify:fail exit 7, curl: connection refused│
└──────────────┴──────────────────────────────────────────────────────┘
- Title: "Goal Runner"
- Status pills: running count (pulsing blue if > 0), total goals
- + New Goal: opens the Starting-a-Goal
- Prune: delete all finished goals (in-flight goals are always kept). Confirms.
- ×: close dashboard
Filter tabs at the top: All / Active / Finished. Switch to constrain the list.
Each goal entry shows:
- Color-coded status badge (pending/running/paused/completed/failed/aborted)
- Relative timestamp ("just now", "5m ago", "1h ago", date for older)
- First two lines of goal text (
line-clamp-2) - Pane ID prefix
- Step count
Click a goal to inspect it in the detail pane. The most recently active goal is auto-selected on open.
For the selected goal:
- Status badge (matches the list)
- Pane ID and risk profile
- Sandbox dir if set
- Goal text (full)
- Criterion in plain English (humanized from the structured form)
- Abort button (only for running goals) — confirms, then sends abort signal. Loop exits at the next checkpoint.
- Delete button — confirms, removes the goal from the log. If you delete the currently-selected goal, selection clears.
-
Final report box (for finished goals) — shows the final report text in a monospace
<pre>. For completed goals this is the verification detail; for aborted/failed, it's the reason + what was learned.
Live-scrolling list of every tool call the AI has made. Each row:
0 [0s] declare_step OK {"number":1,"title":"focus pane","action":"focus_pane","success_criteria":"pane is focused"}
1 [2s] write_to_terminal OK "Focused pane c4bf7ed1-..."
2 [15s] read_terminal_output OK {"success":true,"content":"[?9001h...","hasMore":false,"totalBytes":...}
Columns:
- Step index (right-aligned)
-
Elapsed time since goal start (
[2s],[1m 30s],[1h 12m]) -
Tool name, color-coded by category:
- green = terminal tools
- blue = browser tools
- purple = pane tools
- pink = orchestration
- amber = step protocol
- cyan = vision
- emerald (bold) =
claim_complete - orange (bold) =
abort_with_report
- OK / ERR badge
- Result preview below, truncated (~80 chars on the row, full on hover)
Auto-scrolls to the bottom when new steps arrive. Manual scroll up to inspect history; scroll-to-bottom resumes auto-follow.
When the critic fires or verification fails for the selected goal, events accumulate in a bottom rail:
critic:progressing agent is methodically working through deploy steps
critic:stuck agent has retried the same nginx config edit 4× same error
verify:fail Shell exited 7, wanted 0. Output tail: curl: (7) Failed to connect…
Each event line:
-
Label color-coded by type:
-
critic:progressing— green -
critic:stuck— yellow -
critic:achieved— emerald -
critic:misled— orange -
verify:fail— red
-
- Reason / detail text
The rail is scrollable, capped at ~40 rows visible. Older events are kept in memory for the session.
The dashboard subscribes to the goal:event IPC channel. Event types:
| Event | Effect |
|---|---|
started |
Refresh goal list (new goal appears at top) |
step |
Re-fetch the affected goal so its step log is fresh |
verification_failed |
Append to verification rail |
critic |
Append to critic rail |
ended |
Refresh goal list (status changes from running → completed/failed/aborted) |
No polling, no refresh button — the dashboard stays current automatically.
Even when the dashboard is closed, the Goals chip in the status bar shows a pulsing badge with the running-goal count. Click to open the dashboard. The count updates live via the same goal:event subscription.
| Fleet Dashboard | Goal Dashboard | |
|---|---|---|
| Scope | Multi-pane orchestration | Single-pane autonomous goals |
| Per-row data | Each pane (agent state) | Each goal (step log) |
| Best for | "Who's working on what?" | "Is the goal making progress?" |
| Live events | Coordination events (task assigned/completed) | Step + critic + verification events |
| Hotkey | (status bar Fleet chip) | Ctrl+Shift+G |
Both can be open simultaneously — they show different (but related) slices of the AI's activity.
- Goal-Runner-Overview — the engine the dashboard watches
- Starting-a-Goal — the new-goal form opened from this dashboard
- Critic-and-Replan — what the critic rail entries mean
- Success-Criteria — what the verification rail tells you
- Fleet-Dashboard — the multi-pane orchestration view
ClusterSpace · Issues · Releases · MIT License · Edit any page via the Edit button (top right of the wiki).
- Workspaces-and-Layout
- Terminal-Panes
- Per-Pane-Tabs
- SSH-and-tmux
- Browser-Panes
- Saved-Logins
- Command-Palette
- Broadcast-Mode
- Settings-and-Configuration
- AI-Overview
- AI-Providers
- AI-Chat-Panel
- AI-Tools-Reference
- Personas
- Skills
- Task-Templates
- Agent-Orchestration
- Fleet-Dashboard
- Goal-Runner-Overview
- Starting-a-Goal
- Success-Criteria
- Goal-Policy-and-Risk-Levels
- Critic-and-Replan
- Vision-Verification
- Goal-Dashboard