← Swink AgentShore
The Dashboard · one of two UIs

A window, not a wheel

The Dashboard is read-only by design. The Human Engineer doesn't drive the run — they get up and walk away from it.

The posture

The Dashboard shows what the RL Agent is doing and what it just did. It does not let you click to assign work, retry a play, or steer an agent. If you closed the window, the run would keep going.

Swink AgentShore ships two UIs: the Dashboard (the browser-based pixel-art view — opened in your browser via agentshore dashboard from the CLI, and rendered natively inside the macOS desktop app during a running session; broken down on this page) and the TUI (a terminal companion for the same session). Both are read-only views over the same audit log — pick whichever fits where you're sitting.

The Swink AgentShore Dashboard: a four-pane window with a play log on the left, a pixel-art office floorplan in the center, an agents roster on the right, and a plays palette across the bottom.
The Dashboard in dark mode. Left: the play log. Center: the office floorplan, a live pixel-art rendering of the running session. Right: the agents roster with per-agent cost. Bottom: the plays palette and the budget bar.
Why read-only

The whole product is being able to leave

If the Dashboard had a "do this next" button, the Human Engineer would press it. They'd second-guess the policy, override the next play, and the RL Agent would learn to model the human's patience instead of the project's state. That's the failure mode that makes a learned manager useless.

So the Dashboard does the opposite. It shows the trajectory the policy chose, the audit trail of what each LLM Agent did, and the budget it's burning. The only controls are start the session and end the session. Everything in between is the policy's call.

The implication, working backwards: if you don't trust the run enough to walk away from it, the run isn't ready. Tighten the spec, tune the budget, or end the session. Don't sit on the Dashboard nudging it.

The breakdown

Six regions, one story

Each region of the Dashboard answers a different question about the run. None of them are interactive in the steering sense — you can switch views and filter the log, but you can't assign a play or override the policy.

Top bar

1. Session header

The session-level facts. Whether the loop is running, how many plays have fired this session, how many issues are open against the original target, and which policy version is in charge.

Reads: RUNNING · Plays: 14 · Issues: 200/192 · Policy: learning
Left pane

2. The play log

Every play the dispatcher has run this session, newest first. Each row shows the agent name, the LLM tier it ran on, the play, and the result. Filterable by All / Running / Done / Failed. This is the audit surface — not a worklist to act on.

Reads: Nova Pulse · Large Claude · Issue Pickup 188 · Running
Center pane

3. The office floorplan

A pixel-art rendering of the running session as a tiny office. Each LLM Agent is a sprite at a workstation. When an agent picks up Issue Pickup 188, the sprite walks to the sprint board and grabs a sticky. It's the same telemetry the audit log carries — just legible from across the room.

Tabs: Office / Kanban / Stats
Right pane

4. The agents roster

Every LLM Agent the session has spawned, with its model tier, share of total work, current play, plays-and-results count, and dollar spend. Cost is per-agent, not just session-wide — the expensive ones are easy to spot.

Reads: Nova Pulse · Large Claude 44% · Issue Pickup 188 · $1.78
Bottom palette

5. The plays palette

The 22-action catalog the RL Agent picks from each tick. The highlighted tile is the play currently dispatching. Faded tiles are masked — not legal right now, by gate or by precondition. This is the policy's action space, surfaced for inspection, not a menu the human chooses from.

Reads: 4 ACTIVE · 0 READY · 18 MASKED · 22 TOTAL
Budget & status

6. The budget bar

The cap is the only hard constraint the Human Engineer set before walking away. The bar shows spend against cap. When it tops out, every play except End Session and approved budget-adjustment paths is masked. The session winds down on its own.

Reads: $3.61 / $200.00
What it is not

Things the Dashboard intentionally doesn't do

The negative space is the design. A handful of features that would feel natural on a project dashboard are deliberately absent.

The away test

What a real walk-away looks like

The Dashboard is built around one workflow, run on most evenings:

A typical session
  1. Set the budget cap and start the session. The Human Engineer is at the keyboard for sixty seconds.
  2. Walk away. Dinner, a movie, sleep, the day job. The Dashboard keeps rendering, but no one is watching.
  3. The policy works the backlog. Pick an issue, write a plan, open a PR, run cross-framework review, merge, repeat. Hard gates catch the things that must never happen.
  4. The session ends on its own. Either the queue is drained, the budget is hit, or End Session was scheduled. The Dashboard freezes in its last state.
  5. The Human Engineer comes back to the audit. The play log, the merged PRs, the closed issues, the spend. Decide what to spec for the next run.

If a session needs someone watching it, that's a signal — the spec was under-defined, the budget was too generous, or the gates didn't cover something they should have. The fix is upstream of the Dashboard, not in it.

The deeper rule

A read-only Dashboard is the honest one. Once you give a learned manager a manual override, you're back to a chat-style assistant with a fancier theme — and the policy stops being the manager. The Dashboard exists so the Human Engineer can trust the run, not steer it. The TUI sibling makes the same promise from a terminal. The whole point of AgentShoring is the walk.