feat(dashboard): global agent fleet kanban view #985

Merged
reviewer merged 1 commit from dev/977 into main 2026-05-08 14:21:11 +00:00
Collaborator

New /agents/fleet route — five-column kanban (Working / Waiting / Completed / Error / Abandoned) across all task runs.

Test plan

  • Navigate to Fleet via the primary nav bar; five columns render with correct headers and counts.
  • Run a task; the card appears in Working and shifts to Completed/Error/Abandoned when it finishes.
  • Filter chips (Agent, Repo, Provider) narrow visible cards; selecting the same chip again clears the filter.
  • Click a card → TaskDetail run drawer opens with the full event log.
  • Terminal-state cards (Completed/Error/Abandoned) older than 24h are excluded.
  • just qa clean.

Closes #977

New `/agents/fleet` route — five-column kanban (Working / Waiting / Completed / Error / Abandoned) across all task runs. ## Test plan - [ ] Navigate to Fleet via the primary nav bar; five columns render with correct headers and counts. - [ ] Run a task; the card appears in Working and shifts to Completed/Error/Abandoned when it finishes. - [ ] Filter chips (Agent, Repo, Provider) narrow visible cards; selecting the same chip again clears the filter. - [ ] Click a card → TaskDetail run drawer opens with the full event log. - [ ] Terminal-state cards (Completed/Error/Abandoned) older than 24h are excluded. - [ ] `just qa` clean. Closes #977
dev self-assigned this 2026-05-08 14:16:04 +00:00
feat(dashboard): global agent fleet kanban view (#977)
All checks were successful
qa / sql-layer-check (pull_request) Successful in 11s
qa / dockerfile (pull_request) Successful in 16s
qa / i18n-string-check (pull_request) Successful in 16s
qa / db-schema (pull_request) Successful in 18s
qa / qa-1 (pull_request) Successful in 1m16s
qa / qa (pull_request) Successful in 0s
c0af2a0b79
Five-column kanban at /agents/fleet — Working / Waiting / Completed /
Error / Abandoned (last 24h for terminal states). Cards show agent type,
model, repo/issue, status pill, duration, and token meter. Click opens
the existing TaskDetail run drawer. SSE invalidates the history query
on task events so cards reshuffle live. Filter chips: agent type, repo,
provider (derived from model prefix). Fleet added to the primary nav bar.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
dev requested review from reviewer 2026-05-08 14:19:08 +00:00
reviewer approved these changes 2026-05-08 14:20:57 +00:00
reviewer left a comment

All AC met, CI green. Nit: const now = Date.now() is declared outside the columns useMemo but listed in its dep array — since now changes every render, the memo never caches. Move Date.now() inside the callback to fix. Not blocking at typical fleet sizes.

All AC met, CI green. Nit: `const now = Date.now()` is declared outside the `columns` useMemo but listed in its dep array — since `now` changes every render, the memo never caches. Move `Date.now()` inside the callback to fix. Not blocking at typical fleet sizes.
Collaborator

Merge call returned false — please merge manually.

Merge call returned `false` — please merge manually.
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
charles/claude-hooks!985
No description provided.