mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-04-25 00:51:20 +00:00
refactor(delegate): drop dead default_toolsets from CLI default config
delegation.default_toolsets was declared in cli.py's CLI_CONFIG default dict and documented in cli-config.yaml.example, but never read: none of tools/delegate_tool.py, _load_config(), or any call site ever looked it up. The live fallback is the DEFAULT_TOOLSETS module constant at tools/delegate_tool.py:101, which stays as-is. hermes_cli/config.py's DEFAULT_CONFIG["delegation"] already omits the key — this commit aligns cli.py with that. Adds a regression test in tests/hermes_cli/test_config_drift.py so a future refactor that re-adds the key without wiring it up to _load_config() fails loudly. Part of Initiative 2 / M0.5.
This commit is contained in:
parent
5ffae9228b
commit
631e8793f4
2 changed files with 25 additions and 1 deletions
1
cli.py
1
cli.py
|
|
@ -371,7 +371,6 @@ def load_cli_config() -> Dict[str, Any]:
|
||||||
},
|
},
|
||||||
"delegation": {
|
"delegation": {
|
||||||
"max_iterations": 45, # Max tool-calling turns per child agent
|
"max_iterations": 45, # Max tool-calling turns per child agent
|
||||||
"default_toolsets": ["terminal", "file", "web"], # Default toolsets for subagents
|
|
||||||
"model": "", # Subagent model override (empty = inherit parent model)
|
"model": "", # Subagent model override (empty = inherit parent model)
|
||||||
"provider": "", # Subagent provider override (empty = inherit parent provider)
|
"provider": "", # Subagent provider override (empty = inherit parent provider)
|
||||||
"base_url": "", # Direct OpenAI-compatible endpoint for subagents
|
"base_url": "", # Direct OpenAI-compatible endpoint for subagents
|
||||||
|
|
|
||||||
25
tests/hermes_cli/test_config_drift.py
Normal file
25
tests/hermes_cli/test_config_drift.py
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
"""Regression tests for removed dead config keys.
|
||||||
|
|
||||||
|
This file guards against accidental re-introduction of config keys that were
|
||||||
|
documented or declared at some point but never actually wired up to read code.
|
||||||
|
Future dead-config regressions can accumulate here.
|
||||||
|
"""
|
||||||
|
|
||||||
|
|
||||||
|
def test_delegation_default_toolsets_removed_from_cli_config():
|
||||||
|
"""delegation.default_toolsets was dead config — never read by
|
||||||
|
_load_config() or anywhere else. Removed in M0.5.
|
||||||
|
|
||||||
|
Guards against accidental re-introduction in cli.py's CLI_CONFIG default
|
||||||
|
dict. If this test fails, someone re-added the key without wiring it up
|
||||||
|
to _load_config() in tools/delegate_tool.py.
|
||||||
|
"""
|
||||||
|
from cli import CLI_CONFIG
|
||||||
|
|
||||||
|
delegation_cfg = CLI_CONFIG.get("delegation", {})
|
||||||
|
assert "default_toolsets" not in delegation_cfg, (
|
||||||
|
"delegation.default_toolsets was removed in M0.5 because it was "
|
||||||
|
"never read. Do not re-add it; use tools/delegate_tool.py's "
|
||||||
|
"DEFAULT_TOOLSETS module constant or wire a new config key through "
|
||||||
|
"_load_config()."
|
||||||
|
)
|
||||||
Loading…
Add table
Add a link
Reference in a new issue