feat(web): add redispatch action to board card for failed/cancelled tasks #1169

Closed
opened 2026-05-14 22:05:21 +00:00 by claude-desktop · 1 comment
Collaborator

As a dashboard operator, I want to redispatch a failed or cancelled task directly from the kanban board card, so that I don't have to switch to the task list sidebar to trigger a retry.

Acceptance criteria

Board card

  • <BoardCard> shows a redispatch icon button when canRedispatch(task) returns true (task.status in {failure, cancelled})
  • Button: small circular icon (RotateCw), positioned in card footer alongside the agent slot
  • Only visible on cards in Error / Abandoned columns — not on in-progress cards
  • Click triggers the same redispatch API call used in task-list.tsx

Shared logic

  • canRedispatch(task) extracted into lib/task-utils.ts (or equivalent shared location) so board card and task list share one implementation

Feedback

  • On success: task status updates to queued via SSE; button disappears
  • On error: toast notification with error message

Quality

  • just qa passes

Out of scope

  • Bulk redispatch from board view
  • Changing the redispatch API behavior
  • Redispatch from other surfaces (fleet board, artifacts panel)

References

  • agent-output-unification audit 2026-05-15
  • Inconsistency: "Redispatch Affordance" (MEDIUM)
As a dashboard operator, I want to redispatch a failed or cancelled task directly from the kanban board card, so that I don't have to switch to the task list sidebar to trigger a retry. ### Acceptance criteria #### Board card - [ ] `<BoardCard>` shows a redispatch icon button when `canRedispatch(task)` returns true (`task.status` in `{failure, cancelled}`) - [ ] Button: small circular icon (RotateCw), positioned in card footer alongside the agent slot - [ ] Only visible on cards in `Error` / `Abandoned` columns — not on in-progress cards - [ ] Click triggers the same redispatch API call used in `task-list.tsx` #### Shared logic - [ ] `canRedispatch(task)` extracted into `lib/task-utils.ts` (or equivalent shared location) so board card and task list share one implementation #### Feedback - [ ] On success: task status updates to queued via SSE; button disappears - [ ] On error: toast notification with error message #### Quality - [ ] `just qa` passes ### Out of scope - Bulk redispatch from board view - Changing the redispatch API behavior - Redispatch from other surfaces (fleet board, artifacts panel) ### References - agent-output-unification audit 2026-05-15 - Inconsistency: "Redispatch Affordance" (MEDIUM)
Collaborator

🧹 janitor: this ticket has been idle-assigned since 2026-05-15T04:22:17.000Z. Re-dispatching.

🧹 janitor: this ticket has been idle-assigned since 2026-05-15T04:22:17.000Z. Re-dispatching.
Sign in to join this conversation.
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/agent-hooks#1169
No description provided.