hermes - 💡(How to fix) Fix feat(kanban): auto-assign unassigned ready tasks in dispatcher

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

Fix Action

Solution

Added auto-assign logic in dispatch_once: when a ready task has no assignee, the dispatcher picks the best profile based on:

  1. Task skills (JSON array) — e.g. ["arxiv"]researcher-specialist
  2. Title keywords — e.g. "Fix Docker pipeline" → coder-specialist
  3. Fallbackdefault profile, or the most recently active profile

Keyword-to-profile mapping:

  • Research skills/keywords → researcher-specialist
  • Coding/dev keywords → coder-specialist
  • Communication/UI keywords → communicator
  • Planning/orchestration keywords → orchestrator
  • No match → default

Auto-assigned tasks are tracked in DispatchResult.auto_assigned for visibility.

Code Example

if not row["assignee"]:
    result.skipped_unassigned.append(row["id"])
    continue
RAW_BUFFERClick to expand / collapse

Problem

Tasks created without an assignee (e.g. via the dashboard) sit in the ready queue indefinitely. The dispatcher explicitly skips them:

if not row["assignee"]:
    result.skipped_unassigned.append(row["id"])
    continue

This means tasks never get worked unless someone manually assigns them — a silent failure mode.

Solution

Added auto-assign logic in dispatch_once: when a ready task has no assignee, the dispatcher picks the best profile based on:

  1. Task skills (JSON array) — e.g. ["arxiv"]researcher-specialist
  2. Title keywords — e.g. "Fix Docker pipeline" → coder-specialist
  3. Fallbackdefault profile, or the most recently active profile

Keyword-to-profile mapping:

  • Research skills/keywords → researcher-specialist
  • Coding/dev keywords → coder-specialist
  • Communication/UI keywords → communicator
  • Planning/orchestration keywords → orchestrator
  • No match → default

Auto-assigned tasks are tracked in DispatchResult.auto_assigned for visibility.

Files Changed

  • hermes_cli/kanban_db.py_pick_assignee_for_task(), _set_assignee(), modified dispatch_once()

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

hermes - 💡(How to fix) Fix feat(kanban): auto-assign unassigned ready tasks in dispatcher