Skip to content

Kanban dashboard silently fails when Ready transition is blocked by parent dependency #26744

@vince-winkintel

Description

@vince-winkintel

Bug Description

The Kanban dashboard silently fails when an operator tries to move a task to Ready but the backend rejects the transition because a parent dependency is not done.

The backend correctly enforces the constraint in plugins/kanban/dashboard/plugin_api.py (_set_status_direct returns False when any parent is not done), and update_task turns that into HTTP 409:

status transition to 'ready' not valid from current state

But the dashboard UX does not surface that reason to the user. Drag/drop appears to do nothing, and clicking the card drawer's Ready button appears to do nothing.

Steps to Reproduce

  1. Create a Kanban task A and leave it in todo/triage/any non-done status.
  2. Create a child task B in todo with A as a parent dependency.
  3. Open the Kanban dashboard.
  4. Try to move B to the Ready swimlane via drag/drop, or open B's drawer and click Ready.

Expected Behavior

The dashboard should show a visible error/toast/banner explaining the constraint, for example:

Cannot move to Ready: parent task <id/title> is not done.

Ideally include the blocking parent task id/title/status so the operator knows what to fix.

Actual Behavior

The UI appears to do nothing. The card remains in todo, with no visible explanation.

Why This Matters

The backend behavior is correct, but without visible feedback the operator cannot distinguish:

  • a drag/drop/UI bug,
  • a stale dashboard state,
  • a failed API request,
  • or a valid dependency constraint.

This is especially confusing for human-in-the-loop boards where todo may mean "waiting on human input" and users manually advance cards after making a decision.

Suggested Fix

  • In the Kanban dashboard frontend, catch non-2xx responses from task status updates / drag-drop operations.
  • Surface the API detail string in a toast or inline error.
  • Consider improving the backend 409 detail for this specific case to name the blocking parent(s), rather than the generic transition error.

Environment

  • Hermes Agent v0.13.0 era dashboard/Kanban plugin
  • Affected area: bundled Kanban dashboard plugin / task status transition UX

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3Low — cosmetic, nice to havecomp/pluginsPlugin system and bundled pluginstype/bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions