4.4 KiB
Manager UX corrections (F2–F5)
Presentation names are snapshot metadata only: command targets, revisions, assignment and host-local enrollment authority remain unchanged. Confirmations share agent/host presentation for Start, Stop, Restart, Move and saved choices. Prompt first lines are short task titles; field guidance follows in the body. Temporary notices retire only while still current, composing across nested requests without erasing a newer result. Truly empty lists have zero options; Controls remain available and retained real selections keep their existing policy.
Short repeatable UX check
Run beehive/tools/ux-walkthrough.sh in a 100×30 terminal. This uses the explicit
synthetic loader, fresh beehive-pairing-cli- credential file, private transport
and owned processes, and fences installed service/provider/native sign-in calls.
Do not substitute an ordinary manager launch or HOME-only isolation.
- Agents while signed out: blank list, 0/0, non-selectable “No items.”; arrows and Enter create no selection. Register/sign-in Controls stay visible.
- Register → Runtime → hidden key → Esc: idle status returns; settings unchanged.
- Sign in: title “Sign in”, shortened owner identity; Esc returns idle. Sign in again using the fixture's saved key; the real agent row replaces the empty list.
- Start: title “Start agent?”, Review agent / Review host, not target JSON. Esc returns idle. Start → yes → Runtime → Esc retains the continuation result and leaves settings unchanged.
- Focus Controls; wheel Details; refresh unchanged data: Controls remain visible, Details scroll stays put, and visible action clicks route to those actions. Provider/runtime forms use “Save provider”, “Save runtime”, “Custom model” and “Environment” titles, with context below, not a truncated sentence in the title.
Never enter live credentials. The fixture help supplies the canonical synthetic nsec if testing registration beyond the cancellation checks above.
Evidence for this delta
Workspace artifacts: /Users/loganj/.buzz/artifacts/beehive-ux-f2-f5/.
- F2:
f17-start-confirm.txt/.ansishow named agent and local start host;f08-signin-confirm.txtshows shortened owner. Controller regression checks offer label projection and exact unchanged target JSON; existing lifecycle gates in that test still execute against the exact target/revision. - F3:
f08,f17show short titles in real PTY. Runtime form regression binds Save runtime, Custom model and Environment title/body labels to production forms. Other confirmation call sites share the same short-title convention. - F4:
f07,f09,f18show idle after cancellation;f20retains the continuation result. PTY verifies byte-identical settings after cancels. Renderer regression exercises nested notice retirement, newer result retention and the real action runner's completion cleanup. - F5:
f02–f04show zero rows through arrow/Enter. Renderer regression covers zero callbacks, accessible Controls, and transition back to real rows. - F1 retained: renderer's original scroll/overflow-click/visibility regressions
pass;
f12–f16retain real PTY Controls and pointer/wheel evidence.
Direct Node 24.15.0 TypeScript passed. Focused controller/runtime/navigation:
24 passed. Pinned Bun 1.4.2 renderer: 8 passed. Real synthetic PTY:
20 checkpoints, cancellation settings unchanged, clean exit 0.
One final default-concurrent package suite: 245 passed, 1 failed, 19 skipped
(43.507s). The unchanged broker test failed with “Conversation response timed out;
check relay admission and local sign-in”; full output is preserved in
full-suite.log. No deadlines/assertions weakened and no full-suite rerun.
No installed-opt-in rerun, live credential/provider/relay/browser operations,
service replacement, push, or repository-wide just ci claim. Earlier unchanged
provider/enrollment/Move/native evidence remains separately attributed in
beehive-parity-b5cd2aa0 and beehive-ux-25a9e2b7.
The first PTY driver attempt incorrectly expected the Sign in title and Esc hint
on one line. Its stream/logs remain in driver-first/; only that observation
pattern was corrected, with the original deadline retained. The initial Bun
invocation lacked the required ./ path prefix and discovered no tests; the
explicit-path invocation above executed all eight tests.