Files
hermes-agent/tests/plugins
Sergei Kabuldzhanov fd4dc86146 feat(kanban-dashboard): show profiles on disk as lanes even when idle
`GET /api/plugins/kanban/board` returns an `assignees` list used by the
dashboard for the lane-by-profile sub-grouping in the running column.
Previously this came from a `SELECT DISTINCT assignee FROM tasks WHERE
... status != 'archived'` query, so a freshly-added profile only got
its own lane after being assigned its first non-archived task.

Switch the lookup to `kanban_db.known_assignees()`, the helper that
already backs the `/assignees` picker endpoint at plugin_api.py:1660.
It unions profiles configured on disk with profiles currently holding
non-archived tasks, so a new profile appears in the lane set
immediately. This also keeps the two endpoints from drifting —
previously they could disagree about who's "known."

Updates `test_board_empty` to reflect the new semantics: the implicit
`default` profile that the fixture's `HERMES_HOME` creates now shows
up in `assignees` even on an empty board.

Test plan:
  - `scripts/run_tests.sh tests/plugins/test_kanban_dashboard_plugin.py`
    — 94/94 pass (was 43/44 pre-test-update).
  - Manual: add a new profile via `hermes profile create foo`, then open
    the dashboard kanban; `foo` appears as an empty lane in the running
    column without needing to assign it work first.

Platforms tested: Linux (WSL2). Pure Python, no platform-specific code.
2026-10-06 14:23:10 -04:00
..
…