From d14734df1f0478513965dd3ac0faa48eb51daad6 Mon Sep 17 00:00:00 2001 From: kshitijk4poor <82637225+kshitijk4poor@users.noreply.github.com> Date: Sun, 13 Sep 2026 18:57:27 +0530 Subject: [PATCH] fix(honcho): thread registry rides agent.memory_provider.spawn_context_thread main folded the plugin's contextvars-inheriting thread wrapper into agent.memory_provider.spawn_context_thread. The registry this stack adds for join_plugin_threads keeps a thin client.spawn_context_thread that calls the core spawner and records the thread under its owner; the four spawn sites import it from client. main's inherit-profile test builds a real provider now that _spawn_write is an instance method (the owner is what gets joined). --- plugins/memory/honcho/__init__.py | 2 +- plugins/memory/honcho/dialectic.py | 2 +- plugins/memory/honcho/recall_sync.py | 2 +- plugins/memory/honcho/session.py | 2 +- tests/plugins/memory/test_provider_threads_inherit_profile.py | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/plugins/memory/honcho/__init__.py b/plugins/memory/honcho/__init__.py index db4d802400..1b68a33c66 100644 --- a/plugins/memory/honcho/__init__.py +++ b/plugins/memory/honcho/__init__.py @@ -23,7 +23,7 @@ from agent.coding_context import INTERACTIVE_CODING_PLATFORMS as _LOCAL_PLATFORM from agent.turn_author import a2a_key from plugins.memory.honcho.client import HonchoClientConfig, resolve_config_path from plugins.memory.honcho.client import _host_block, _HostLookup -from plugins.memory.honcho.client import join_plugin_threads +from plugins.memory.honcho.client import join_plugin_threads, spawn_context_thread from plugins.memory.honcho.dialectic import DialecticMixin from plugins.memory.honcho.session_peers import assistant_peer_id_for, sanitize_peer_id from plugins.memory.honcho.session_context import usable_honcho_summary diff --git a/plugins/memory/honcho/dialectic.py b/plugins/memory/honcho/dialectic.py index 24eb9c40f4..3ba6103506 100644 --- a/plugins/memory/honcho/dialectic.py +++ b/plugins/memory/honcho/dialectic.py @@ -7,7 +7,7 @@ import re import threading import time -from agent.memory_provider import spawn_context_thread +from plugins.memory.honcho.client import spawn_context_thread logger = logging.getLogger("plugins.memory.honcho") diff --git a/plugins/memory/honcho/recall_sync.py b/plugins/memory/honcho/recall_sync.py index d31956c4e9..80b847b1c9 100644 --- a/plugins/memory/honcho/recall_sync.py +++ b/plugins/memory/honcho/recall_sync.py @@ -7,7 +7,7 @@ import math import threading import time -from agent.memory_provider import spawn_context_thread +from plugins.memory.honcho.client import spawn_context_thread logger = logging.getLogger("plugins.memory.honcho") diff --git a/plugins/memory/honcho/session.py b/plugins/memory/honcho/session.py index 4f82325278..0ed5fe3c88 100644 --- a/plugins/memory/honcho/session.py +++ b/plugins/memory/honcho/session.py @@ -10,7 +10,7 @@ from dataclasses import dataclass, field from datetime import datetime from typing import Any, TYPE_CHECKING -from agent.memory_provider import spawn_context_thread +from plugins.memory.honcho.client import spawn_context_thread from plugins.memory.honcho.client import get_honcho_client from plugins.memory.honcho.session_auth import HonchoAuthError, SessionAuthMixin from plugins.memory.honcho.session_context import SessionContextMixin diff --git a/tests/plugins/memory/test_provider_threads_inherit_profile.py b/tests/plugins/memory/test_provider_threads_inherit_profile.py index 5f2cfda9aa..efb127452f 100644 --- a/tests/plugins/memory/test_provider_threads_inherit_profile.py +++ b/tests/plugins/memory/test_provider_threads_inherit_profile.py @@ -85,7 +85,7 @@ def _hindsight(seen, tmp_path): def _honcho(seen, tmp_path): from plugins.memory.honcho import HonchoMemoryProvider - return [HonchoMemoryProvider._spawn_write(_probe_home(seen), "honcho-test", "failed %s")] + return [HonchoMemoryProvider()._spawn_write(_probe_home(seen), "honcho-test", "failed %s")] _PROVIDERS = {