Problem
The _check_kanban_mode() gating function in tools/kanban_tools.py only returns True when HERMES_KANBAN_TASK is set in the environment. This environment variable is only set by the kanban dispatcher when spawning a worker process.
This means orchestrator profiles (like a techlead that routes work via Kanban) never see the kanban tools, even when they have kanban explicitly listed in their toolsets config.
Impact
- Orchestrator profiles cannot create, link, or manage Kanban tasks via tool calls
- The orchestrator hallucinates task creation because the SOUL.md instructs it to use kanban tools that do not exist in its schema
- Workers spawned by the dispatcher work fine (they get
HERMES_KANBAN_TASK set)
Reproduction
- Create a profile (e.g.,
techlead) with toolsets: [kanban, ...] in config.yaml
- Start the gateway for that profile
- Send a message asking it to create a Kanban task
- The agent reports that kanban tools are not available
Fix
Modified _check_kanban_mode() to also return True when the current profile has kanban in its toolsets config.yaml, in addition to the existing HERMES_KANBAN_TASK check.
This allows orchestrator profiles to use kanban_create, kanban_link, etc. to route work, while workers continue to use the full kanban toolset via the dispatcher env var.
Problem
The
_check_kanban_mode()gating function intools/kanban_tools.pyonly returnsTruewhenHERMES_KANBAN_TASKis set in the environment. This environment variable is only set by the kanban dispatcher when spawning a worker process.This means orchestrator profiles (like a techlead that routes work via Kanban) never see the kanban tools, even when they have
kanbanexplicitly listed in theirtoolsetsconfig.Impact
HERMES_KANBAN_TASKset)Reproduction
techlead) withtoolsets: [kanban, ...]in config.yamlFix
Modified
_check_kanban_mode()to also returnTruewhen the current profile haskanbanin itstoolsetsconfig.yaml, in addition to the existingHERMES_KANBAN_TASKcheck.This allows orchestrator profiles to use
kanban_create,kanban_link, etc. to route work, while workers continue to use the full kanban toolset via the dispatcher env var.