Workflow Monitor — live phase/agent drill-down (w)
Press w on a selected run (from the fleet list or from a run's detail screen) to open the
Workflow Monitor for that run. It replaces the current screen; Esc returns you to where you
came from (list or detail).
The monitor has two views:
View A — Phases | Agents overview
A two-pane split. The left pane lists the workflow's phases; the right pane lists the agents in the selected phase.
| Key | Action |
|---|---|
↑ / ↓ (or j / k) | select a phase (left pane) or an agent (right pane) |
→ / Enter / l | move focus from the Phases pane into the Agents pane |
← / h | move focus back to the Phases pane |
→ / Enter / l (on an agent) | open View B (per-agent detail) for that agent |
Esc | exit the monitor and return to the previous screen |
View B — per-agent detail
The right pane shows the selected agent's status + model, token/tool/duration stats, Prompt (N lines, expandable), Activity (last 3 of N tool calls), and Outcome.
| Key | Action |
|---|---|
↑ / ↓ (or j / k) | switch between agents |
Enter | toggle the full Prompt (expand / collapse) |
Esc | return to View A |
Run controls (available in both views)
| Key | Action | When available |
|---|---|---|
p | pause the run (footer shows p resume while paused; press again to resume) | any state |
s | save/export the run to <runDir>/summary.md; a saved → <path> confirmation appears briefly | any state |
x | stop the run | only when the selected agent is currently running |
r | restart the selected worker in place | only when the selected agent is currently running |
x and r are shown in the footer hint only in View B when the selected agent is running; they
are no-ops otherwise.
Inline status in the chat REPL
While a background run dispatched from cyberine chat is in progress, a one-line live status
appears just above the input: spinner, workflow name, truncated detail, X/Y agents done, elapsed
time, and total tokens. Two affordances appear on the right:
Enter— open the Workflow Monitor overlay for that run (Esc closes it and returns to the chat).x— stop the run immediately.
The status line disappears when the run reaches a terminal state.
TUI end-to-end cases — drive chat and the fleet hub through a real terminal (npm run tui:e2e)
Starts cyberine chat, cyberine agents and cyberine tui from this source tree inside a private tmux server, sends real keys, waits for what a person would see, and runs a UX invariant scan on every...
Stopping a run or worker
s (stop run) / x (stop worker) work cross-process: the TUI and the engine run in separate processes and share only the filesystem, so stop is a control file the engine polls.