refactor(honcho): remove local memory mode

The "local" memoryMode was redundant with enabled: false. Simplifies
the mode system to hybrid and honcho only.
This commit is contained in:
Erosika 2026-03-12 16:23:34 -04:00
parent f896bb5d8c
commit ae2a5e5743
8 changed files with 22 additions and 49 deletions

View file

@ -64,14 +64,13 @@ class TestGatewayHonchoLifecycle:
assert second_cfg is hcfg
mock_mgr_cls.assert_called_once()
def test_gateway_skips_honcho_manager_in_local_mode(self):
def test_gateway_skips_honcho_manager_when_disabled(self):
runner = _make_runner()
hcfg = SimpleNamespace(
enabled=True,
enabled=False,
api_key="honcho-key",
ai_peer="hermes",
peer_name="alice",
peer_memory_mode=lambda peer: "local",
)
with (

View file

@ -123,12 +123,6 @@ class TestMemoryModeParsing:
cfg = HonchoClientConfig.from_global_config(config_path=cfg_file)
assert cfg.memory_mode == "honcho"
def test_local_only(self, tmp_path):
cfg_file = tmp_path / "config.json"
cfg_file.write_text(json.dumps({"apiKey": "k", "memoryMode": "local"}))
cfg = HonchoClientConfig.from_global_config(config_path=cfg_file)
assert cfg.memory_mode == "local"
def test_defaults_to_hybrid(self, tmp_path):
cfg_file = tmp_path / "config.json"
cfg_file.write_text(json.dumps({"apiKey": "k"}))
@ -152,13 +146,11 @@ class TestMemoryModeParsing:
"hosts": {"hermes": {"memoryMode": {
"default": "hybrid",
"hermes": "honcho",
"sentinel": "local",
}}},
}))
cfg = HonchoClientConfig.from_global_config(config_path=cfg_file)
assert cfg.memory_mode == "hybrid"
assert cfg.peer_memory_mode("hermes") == "honcho"
assert cfg.peer_memory_mode("sentinel") == "local"
assert cfg.peer_memory_mode("unknown") == "hybrid" # falls through to default
def test_object_form_no_default_falls_back_to_hybrid(self, tmp_path):
@ -177,11 +169,11 @@ class TestMemoryModeParsing:
cfg_file = tmp_path / "config.json"
cfg_file.write_text(json.dumps({
"apiKey": "k",
"memoryMode": "local",
"memoryMode": "honcho",
"hosts": {"hermes": {"memoryMode": {"default": "hybrid", "hermes": "honcho"}}},
}))
cfg = HonchoClientConfig.from_global_config(config_path=cfg_file)
assert cfg.memory_mode == "hybrid" # host default wins over global "local"
assert cfg.memory_mode == "hybrid" # host default wins over global "honcho"
assert cfg.peer_memory_mode("hermes") == "honcho"
@ -544,8 +536,8 @@ class TestNewConfigFieldDefaults:
assert cfg.peer_memory_mode("any-peer") == "honcho"
def test_peer_memory_mode_override(self):
cfg = HonchoClientConfig(memory_mode="hybrid", peer_memory_modes={"hermes": "local"})
assert cfg.peer_memory_mode("hermes") == "local"
cfg = HonchoClientConfig(memory_mode="hybrid", peer_memory_modes={"hermes": "honcho"})
assert cfg.peer_memory_mode("hermes") == "honcho"
assert cfg.peer_memory_mode("other") == "hybrid"

View file

@ -1210,11 +1210,10 @@ class TestSystemPromptStability:
class TestHonchoActivation:
def test_local_mode_skips_honcho_init(self):
def test_disabled_config_skips_honcho_init(self):
hcfg = HonchoClientConfig(
enabled=True,
enabled=False,
api_key="honcho-key",
memory_mode="local",
peer_name="user",
ai_peer="hermes",
)
@ -1327,9 +1326,8 @@ class TestHonchoActivation:
def test_inactive_honcho_strips_stale_honcho_tools(self):
hcfg = HonchoClientConfig(
enabled=True,
enabled=False,
api_key="honcho-key",
memory_mode="local",
peer_name="user",
ai_peer="hermes",
)