Skip to content

fix(kanban): allow orchestrator profiles to see kanban tools via toolsets config#19606

Merged
teknium1 merged 2 commits into
mainfrom
hermes/hermes-6c8ebd95
May 4, 2026
Merged

fix(kanban): allow orchestrator profiles to see kanban tools via toolsets config#19606
teknium1 merged 2 commits into
mainfrom
hermes/hermes-6c8ebd95

Conversation

@teknium1

@teknium1 teknium1 commented May 4, 2026

Copy link
Copy Markdown
Contributor

Salvage of #18970 onto current main + test fixup for #19427.

Closes #18968.

Summary

_check_kanban_mode() now enables kanban tools for any profile that has kanban in its toolsets config, not just dispatcher-spawned workers (HERMES_KANBAN_TASK env). Orchestrator profiles like techlead can now actually call kanban_create / kanban_link to route work — previously their SOUL.md told them to use kanban tools that were never registered into their schema, which fueled hallucination.

Changes

  • tools/kanban_tools.py: gate returns True when HERMES_KANBAN_TASK is set OR kanban ∈ config.toolsets. Worker fast-path unchanged.
  • tests/tools/test_kanban_tools.py: update test_kanban_guidance_in_worker_prompt header assertion — fix(kanban): drop worker identity claim from KANBAN_GUIDANCE #19427 replaced "You are a Kanban worker" with "Kanban task execution protocol", the old assertion was stale.

Validation

E2E tested all four gate cases against current main:

scenario expected actual
no toolsets config False False
toolsets: [kanban, ...] True True
toolsets: [terminal, web] (no kanban) False False
HERMES_KANBAN_TASK set True True

tests/tools/test_kanban_tools.py — 31/31 pass.

Duplicates closed with credit

pdonizete and others added 2 commits May 4, 2026 01:59
The _check_kanban_mode() gating function only checked for
HERMES_KANBAN_TASK env var, which is only set by the dispatcher
when spawning workers. This prevented orchestrator profiles (like
techlead) from using kanban_create, kanban_link, etc. even when
they had 'kanban' explicitly in their toolsets config.

Now uses load_config() from hermes_cli.config (which has mtime-based
caching) to check if 'kanban' is in the profile's toolsets list.
This enables orchestrators to route work via Kanban while workers
continue using the dispatcher env var.

Fixes #18968
PR #19427 dropped the 'You are a Kanban worker' identity line from
KANBAN_GUIDANCE so SOUL.md stays authoritative for profile identity.
This test assertion was stale against that change; update it to the
new protocol-only header.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Kanban tools not visible to orchestrator profiles with kanban toolset enabled

2 participants