Skip to content

feat(tui): sub-agent stop, framed result cards, agents registry tab - #48

Merged
jkyberneees merged 4 commits into
mainfrom
feat/agents-panel
Aug 30, 2026
Merged

feat(tui): sub-agent stop, framed result cards, agents registry tab#48
jkyberneees merged 4 commits into
mainfrom
feat/agents-panel

Conversation

@jkyberneees

Copy link
Copy Markdown
Contributor

M3+M4+M5 of the sub-agents UI plan, landing as one commit (the three milestones share the same files).

  • Per-agent stop: ctrl+s (or /stop <SA#>) sends the WS subagent_cancel behind the existing two-step confirm; subagent_cancelled acks never flip card state — the terminal subagent_state frame does. accepted:false surfaces the benign race.
  • Framed result cards: framed delegate results (status/summary/files_changed/tokens/iterations) render as a structured card; prose results keep the generic preview.
  • /agents drawer tab: GET /api/subagents registry snapshot with the shared drawer grammar — rows, ⏎ detail (redacted goal + full metadata), digit jump, cycling.

Stacked on #47 (M1) and the M2 branch — diff vs main is M3-M5 only once those merge.

Gates: go fmt / go vet / go test -race -count=1 ./... all green (incl. the e2e command-registry and drawer-cycling sweeps, updated for the 9-tab ring). Note: local golangci-lint could not run (tool-approval gate timeouts in this session) — CI lint is the backstop; no merge before it is green.

The relay delivers sub-agent log payloads in the data field and the
child log status in status; the handler read detail, which serve never
sends on this frame, so live runs rendered bare event names. Read data
first (detail stays a legacy fallback), surface status, and cap the
segment like every other one-line preview.
Per-task lifecycle frames (odek v1.30+) drive in-place agent cards:
live step/tool/iteration/token/duration while running, terminal
glyphs mirroring odek status framing (success/partial/error/
cancelled/timeout), and a done/tokens rollup on the collapsed step
line. Stray frames fall back to notices, wire text is sanitized on
ingest, and older servers render exactly as before.
Three milestones of the sub-agents UI plan land together (they share
the same files): per-agent stop over the WS subagent_cancel frame
(ctrl+s or /stop <SA#> behind the two-step confirm; acks never flip
card state — the terminal subagent_state does), structured cards for
framed delegate results (tolerant parse, prose fallback), and an
/agents drawer tab over GET /api/subagents using the shared drawer
grammar with the full detail view.
@jkyberneees
jkyberneees merged commit 7c0a0dc into main Aug 30, 2026
7 checks passed
@jkyberneees
jkyberneees deleted the feat/agents-panel branch August 30, 2026 17:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant