From 0986b69888c86c8049b1d4535cb93dd72654acda Mon Sep 17 00:00:00 2001 From: Dusk1e Date: Thu, 9 Apr 2026 20:24:09 +0300 Subject: [PATCH] fix(rl): prevent rl_cli import-time NameError --- rl_cli.py | 3 +-- tests/test_rl_cli.py | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 tests/test_rl_cli.py diff --git a/rl_cli.py b/rl_cli.py index 03bf015c262f..7fe238176bc4 100644 --- a/rl_cli.py +++ b/rl_cli.py @@ -26,6 +26,7 @@ import fire import yaml +from hermes_constants import get_hermes_home, OPENROUTER_BASE_URL # Load .env from ~/.hermes/.env first, then project root as dev fallback. # User-managed env files should override stale shell exports on restart. @@ -60,8 +61,6 @@ # Config Loading # ============================================================================ -from hermes_constants import get_hermes_home, OPENROUTER_BASE_URL - DEFAULT_MODEL = "anthropic/claude-opus-4.5" DEFAULT_BASE_URL = OPENROUTER_BASE_URL diff --git a/tests/test_rl_cli.py b/tests/test_rl_cli.py new file mode 100644 index 000000000000..d1890bed7417 --- /dev/null +++ b/tests/test_rl_cli.py @@ -0,0 +1,23 @@ +import importlib +import sys +import types + + +def test_rl_cli_import_bootstraps_hermes_home_without_nameerror(tmp_path, monkeypatch): + home = tmp_path / "hermes" + home.mkdir() + + fake_run_agent = types.ModuleType("run_agent") + fake_run_agent.AIAgent = object + + fake_rl_tool = types.ModuleType("tools.rl_training_tool") + fake_rl_tool.get_missing_keys = lambda: [] + + monkeypatch.setenv("HERMES_HOME", str(home)) + monkeypatch.setitem(sys.modules, "run_agent", fake_run_agent) + monkeypatch.setitem(sys.modules, "tools.rl_training_tool", fake_rl_tool) + + sys.modules.pop("rl_cli", None) + module = importlib.import_module("rl_cli") + + assert module._hermes_home == home