Kanban tool visibility for orchestrator profiles and toolsets
NousResearch/hermes-agent · cluster 18968
Data as of
Nothing open on GitHub. Fix merged in #19427. Check it covers your case.
The short answer
- Known?
- Yes. 9 related items grouped here, 2 issues already closed.
- Fix event
- A fix was merged to main in PR #19427. Check it covers your case. No release data is tracked.
- Tracker
- The maintainers' tracker marks this
resolved, deciding PRs #19606, #35729. That is separate from the fix event. - Still open
- Nothing open on GitHub.
These issues and fixes center on kanban tools not appearing correctly for orchestrator profiles depending on toolset configuration, including how wildcard aliases like 'all' and 'all/*' are handled. Related changes address which profiles can see kanban tools, worker identity claims in guidance, and documentation clarifying wildcard behavior.
Open issues0
Open PRs0
Fixes on record
-
#19427 fix(kanban): drop worker identity claim from KANBAN_GUIDANCE
files:
agent/prompt_builder.pyShow the diff
-
agent/prompt_builder.py@@ -183,8 +183,8 @@ def _strip_yaml_frontmatter(content: str) -> str: ) KANBAN_GUIDANCE = ( - "# You are a Kanban worker\n" - "You were spawned by the Hermes Kanban dispatcher to execute ONE task from " + "# Kanban task execution protocol\n" + "You have been assigned ONE task from " "the shared board at `~/.hermes/kanban.db`. Your task id is in " "`$HERMES_KANBAN_TASK`; your workspace is `$HERMES_KANBAN_WORKSPACE`. " "The `kanban_*` tools in your schema are your primary coordination surface — "
-
-
#19606 fix(kanban): allow orchestrator profiles to see kanban tools via toolsets config
files:
tests/tools/test_kanban_tools.py,tools/kanban_tools.pyShow the diff
-
tests/tools/test_kanban_tools.py@@ -467,8 +467,8 @@ def test_kanban_guidance_in_worker_prompt(monkeypatch, tmp_path): skip_memory=True, ) prompt = a._build_system_prompt() - # Header phrase - assert "You are a Kanban worker" in prompt + # Header phrase (identity-free — SOUL.md owns identity, layer 3 is protocol) + assert "Kanban task execution protocol" in prompt # Lifecycle signals assert "kanban_show()" in prompt assert "kanban_complete" in prompt -
tools/kanban_tools.py@@ -40,13 +40,31 @@ # --------------------------------------------------------------------------- def _check_kanban_mode() -> bool: - """Tools are available iff the current process has ``HERMES_KANBAN_TASK`` - set in its env, which the dispatcher sets when spawning a worker. + """Tools are available when: - Humans running ``hermes chat`` see zero kanban tools. Workers spawned - by the kanban dispatcher (gateway-embedded by default) see all seven. + 1. ``HERMES_KANBAN_TASK`` is set (dispatcher-spawned worker), OR + 2. The current profile has ``kanban`` in its toolsets config + (orchestrator profiles like techlead that route work via Kanban). + + Humans running ``hermes chat`` without the kanban toolset see zero + kanban tools. Workers spawned by the kanban dispatcher (gateway- + embedded by default) and orchestrator profiles with the kanban + toolset enabled see all seven. """ - return bool(os.environ.get("HERMES_KANBAN_TASK")) + if os.environ.get("HERMES_KANBAN_TASK"): + return True + + # Check if the current profile has the kanban toolset enabled. + # Uses load_config() which has mtime-based caching, so this adds + # negligible overhead. The check_fn results are further TTL-cached + # (~30s) by the tool registry. + try: + from hermes_cli.config import load_config + cfg = load_config() + toolsets = cfg.get("toolsets", []) + return "kanban" in toolsets + except Exception: + return False # ---------------------------------------------------------------------------
-
-
#35729 docs(toolsets): clarify all/* wildcard does not enable kanban
files:
website/docs/reference/toolsets-reference.md
4 PRs closed without merging
From the close comments: duplicate 2 · merged via another change 1 · superseded by another PR 1
-
#18970 fix: allow kanban tools for orchestrator profiles with kanban toolset · merged via another change →
#19606,#19427,#18971,#18991,#18968 -
#18971 fix(tools): allow orchestrator profiles to see kanban tools via toolsets config · duplicate →
#18970,#19606 -
#18991 fix(kanban): enable kanban tools for profiles with kanban in toolsets config · duplicate →
#18970,#18971,#19606 -
#35588 fix(kanban): honor all toolset aliases · superseded by another PR →
#35729,#35581
Closed issues · 2
How this cluster was grouped
-
Link evidence (
partly structural links): some members are connected by structural evidence (shared changed files, or a closing/superseded reference); the rest are joined by an automated relevance judgement over their text. - Members outside that structural core may belong to a different underlying problem.
-
Pairwise link density
0.20: the share of item pairs that carry a link, counting a structural link in full and a relevance-only link at 0.36.1.00means every pair is linked.
Pick up a Lab task
Check whether a fix covers the open issues here, with your own agent. Bring back evidence for maintainers.
Open the Lab