Hub — run titles, filter, scrolling
Every row leads with a short title (at most 48 cells) for what the item is actually doing. For a run
the engine derives it when the run is created and stores it as title in run.json: injected
preambles (HARD INVARIANTS, RULES, MEMORY, PRIOR RUNS, instructions) are dropped, a labelled TASK: /
RESEARCH QUESTION: / GOAL: block wins over the wrapper text, a leading "As of ," clause is
dropped, and a follow-up reads follow-up <id>: <reply>. Runs recorded before titles existed get the
same derivation at display time (kt4xb), and Ctrl+R overrides it per run. Two parallel
implement-task runs therefore read by their distinct task, not by an identical workflow name. A chat
row shows its session title.
When the list is taller than the terminal it windows to fit (the input and the hint row are never
pushed off-screen), shows ↓ N more below under the last visible row and ↑ N more above at the end
of the strip once rows have scrolled off the top, and edge-scrolls to keep the selection visible;
PgUp/PgDn move a page. On a short terminal Done and Failed also fold sooner into … N more.
/ filters live (see "Fleet hub"): words match title, activity, folder or a run-id
prefix, and the failed / needs / live / today tokens scope by status and day. ⏎ keeps the
filter and returns to the list; esc clears it. The strip under the header names the active filter.
The full task, facts (folder, steps, tokens, cost, id) and the last activity lines are in the peek
(Space), not in a pinned card.
Fleet hub — blocks, inspector and motion
cyberine agents (and cyberine tui) open onto a triage view (kp3fe): what needs you first, the one selected item in an inspector, and the finished archive closed behind a drawer. There is no...
Hub — narrow terminals
Below 80 columns the hub drops the agents and reason columns and caps the title at 24 cells; the age always stays. The hint row keeps only the hints that fit on ONE line, most essential first, and...