Fleet list — TASK-first columns, filter, scrolling
The first/primary column is TASK: a one-line summary of what each run is actually doing
(extracted from the first step's prompt — the TASK: block for implement-task, or the first
prompt line for other workflows). WORKFLOW is demoted to a dim type tag beside it. This is the
fix for "I can't tell which run is which": two parallel implement-task runs read by their distinct
task, not by an identical workflow name. When the fleet is taller than the terminal, the list windows
to fit (the footer never gets pushed off-screen) and shows a ↑ N above … M below position line;
the window edge-scrolls to keep the selected row visible. A row briefly flags with a ▶ gutter when
its state changes, so a run finishing mid-list catches the eye.
Press / to filter: type a query and the list narrows in real time to runs whose task or workflow
name matches (case-insensitive substring); Enter keeps the filter and returns to navigation, Esc
clears it. A / <query> · N shown bar appears above the columns while filtering.
A preview card is pinned below the list and always reflects the row under the cursor: it shows
the FULL task (the row cell truncates it; here it wraps) plus the run's facts — workflow, short run
id, state, steps, age, tokens, cost — and the live detail line. Move the cursor (j/k) and the
card updates instantly, so you can read what each run is doing without inspecting it.
Keybindings — remap fleet + chat actions (~/.cyberine/keybindings.json, T535)
Both Ink TUIs — the fleet hub (cyberine agents / npm run tui, namespace fleet.) and the chat REPL (cyberine chat, namespace chat.) — read remaps from ONE file: $CYBERINEKEYBINDINGS or...
Fleet list — narrow terminals
The fleet degrades gracefully as the terminal narrows instead of wrapping: the footer hint bar keeps only the hints that fit on ONE line (most-essential first), and the list drops its...