From c1228e9a4a7314db1c26b92c39e33169a387ae26 Mon Sep 17 00:00:00 2001 From: Erosika Date: Mon, 9 Mar 2026 17:46:51 -0400 Subject: [PATCH] refactor(honcho): rename recallMode "auto" to "hybrid" Matches the mental model: hybrid = context + tools, context = context only, tools = tools only. --- honcho_integration/cli.py | 6 +++--- honcho_integration/client.py | 6 +++--- run_agent.py | 4 ++-- tests/honcho_integration/test_client.py | 4 ++-- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/honcho_integration/cli.py b/honcho_integration/cli.py index 636d0be79..d568aa938 100644 --- a/honcho_integration/cli.py +++ b/honcho_integration/cli.py @@ -147,13 +147,13 @@ def cmd_setup(args) -> None: cfg["writeFrequency"] = new_wf if new_wf in ("async", "turn", "session") else "async" # Recall mode - current_recall = cfg.get("recallMode", "auto") + current_recall = cfg.get("recallMode", "hybrid") print(f"\n Recall mode options:") - print(" auto — pre-warmed context + memory tools available (default)") + print(" hybrid — pre-warmed context + memory tools available (default)") print(" context — pre-warmed context only, memory tools suppressed") print(" tools — no pre-loaded context, rely on tool calls only") new_recall = _prompt("Recall mode", default=current_recall) - if new_recall in ("auto", "context", "tools"): + if new_recall in ("hybrid", "context", "tools"): cfg["recallMode"] = new_recall # Session strategy diff --git a/honcho_integration/client.py b/honcho_integration/client.py index 90b369021..3f3f174d1 100644 --- a/honcho_integration/client.py +++ b/honcho_integration/client.py @@ -90,10 +90,10 @@ class HonchoClientConfig: # Max chars of dialectic result to inject into Hermes system prompt dialectic_max_chars: int = 600 # Recall mode: how memory retrieval works when Honcho is active. - # "auto" — pre-warmed context + memory tools available (model decides) + # "hybrid" — pre-warmed context + memory tools available (model decides) # "context" — pre-warmed context only, honcho memory tools removed # "tools" — no pre-loaded context, rely on tool calls only - recall_mode: str = "auto" + recall_mode: str = "hybrid" # Session resolution session_strategy: str = "per-session" session_peer_prefix: bool = False @@ -199,7 +199,7 @@ class HonchoClientConfig: recall_mode=( host_block.get("recallMode") or raw.get("recallMode") - or "auto" + or "hybrid" ), session_strategy=raw.get("sessionStrategy", "per-session"), session_peer_prefix=raw.get("sessionPeerPrefix", False), diff --git a/run_agent.py b/run_agent.py index a5133b02d..0984f703d 100644 --- a/run_agent.py +++ b/run_agent.py @@ -1580,7 +1580,7 @@ class AIAgent: hcfg = self._honcho_config mode = hcfg.memory_mode if hcfg else "hybrid" freq = hcfg.write_frequency if hcfg else "async" - recall_mode = hcfg.recall_mode if hcfg else "auto" + recall_mode = hcfg.recall_mode if hcfg else "hybrid" honcho_block = ( "# Honcho memory integration\n" f"Active. Session: {self._honcho_session_key}. " @@ -3382,7 +3382,7 @@ class AIAgent: # Honcho: read cached context from last turn's background fetch (non-blocking), # then fire both fetches for next turn. Skip in "tools" mode (no context injection). self._honcho_context = "" - _recall_mode = (self._honcho_config.recall_mode if self._honcho_config else "auto") + _recall_mode = (self._honcho_config.recall_mode if self._honcho_config else "hybrid") if self._honcho and self._honcho_session_key and not conversation_history and _recall_mode != "tools": try: self._honcho_context = self._honcho_prefetch(user_message) diff --git a/tests/honcho_integration/test_client.py b/tests/honcho_integration/test_client.py index 1a46e797b..d779d9a63 100644 --- a/tests/honcho_integration/test_client.py +++ b/tests/honcho_integration/test_client.py @@ -26,7 +26,7 @@ class TestHonchoClientConfigDefaults: assert config.enabled is False assert config.save_messages is True assert config.session_strategy == "per-session" - assert config.recall_mode == "auto" + assert config.recall_mode == "hybrid" assert config.session_peer_prefix is False assert config.linked_hosts == [] assert config.sessions == {} @@ -168,7 +168,7 @@ class TestFromGlobalConfig: config_file = tmp_path / "config.json" config_file.write_text(json.dumps({"apiKey": "key"})) config = HonchoClientConfig.from_global_config(config_path=config_file) - assert config.recall_mode == "auto" + assert config.recall_mode == "hybrid" def test_corrupt_config_falls_back_to_env(self, tmp_path): config_file = tmp_path / "config.json"