hermes - 💡(How to fix) Fix [Bug]: Archived kanban board instantly resurrected by gateway dispatcher — Archive appears to not work

Official PRs (…)
ON THIS PAGE

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…

Error Message

kanban dispatcher: tick failed on board token-harvest-20260527 sqlite3.OperationalError: no such table: tasks

Root Cause

The gateway's kanban dispatcher (_kanban_dispatcher_watcher) and notifier (_kanban_notifier_watcher) work in a two-phase loop:

  1. Enumerate boards via list_boards(include_archived=False)
  2. Call connect(board=slug) on each

If a board is archived between step 1 and step 2, connect() — which does mkdir(exist_ok=True) on the board directory — recreates an empty board directory, resurrecting the archived board.

This affects three code paths:

  • _kanban_notifier_watcher (board enumeration loop)
  • _kanban_dispatcher_watcher._tick_once_for_board (per-board dispatch)
  • _kanban_dispatcher_watcher._ready_nonempty (cheap probe)

Fix Action

Fix

Add board_dir(slug).exists() guard before connect() calls — if the board was archived since list_boards(), skip it instead of recreating. See PR #35208.

Code Example

kanban dispatcher: tick failed on board token-harvest-20260527
sqlite3.OperationalError: no such table: tasks
RAW_BUFFERClick to expand / collapse

Describe the bug

Archiving a kanban board from the dashboard (or via CLI hermes kanban boards rm) appears to have no effect — the board stays visible or reappears within seconds.

To Reproduce

  1. Have a kanban board with active tasks
  2. Run gateway with dispatcher enabled (kanban.dispatch_in_gateway: true)
  3. Archive the board from dashboard (click Archive) or CLI (hermes kanban boards rm <slug>)
  4. The board either never disappears from the dashboard, or reappears within ~3 seconds

Expected behavior

Archived board should disappear from the board list and NOT reappear until explicitly restored.

Root Cause

The gateway's kanban dispatcher (_kanban_dispatcher_watcher) and notifier (_kanban_notifier_watcher) work in a two-phase loop:

  1. Enumerate boards via list_boards(include_archived=False)
  2. Call connect(board=slug) on each

If a board is archived between step 1 and step 2, connect() — which does mkdir(exist_ok=True) on the board directory — recreates an empty board directory, resurrecting the archived board.

This affects three code paths:

  • _kanban_notifier_watcher (board enumeration loop)
  • _kanban_dispatcher_watcher._tick_once_for_board (per-board dispatch)
  • _kanban_dispatcher_watcher._ready_nonempty (cheap probe)

Evidence

From gateway.log showing the dispatcher failing on an empty resurrected board:

kanban dispatcher: tick failed on board token-harvest-20260527
sqlite3.OperationalError: no such table: tasks

_archived/ accumulated 22 copies of 4 boards from repeated archive attempts (cleaned up to 1 per board).

Fix

Add board_dir(slug).exists() guard before connect() calls — if the board was archived since list_boards(), skip it instead of recreating. See PR #35208.

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…

FAQ

Expected behavior

Archived board should disappear from the board list and NOT reappear until explicitly restored.

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 [Bug]: Archived kanban board instantly resurrected by gateway dispatcher — Archive appears to not work