diff --git a/plugins/memory/hindsight/__init__.py b/plugins/memory/hindsight/__init__.py index 00b6d7a8f8eaa..b5b2aa8cd955c 100644 --- a/plugins/memory/hindsight/__init__.py +++ b/plugins/memory/hindsight/__init__.py @@ -131,10 +131,19 @@ def _check_local_runtime() -> tuple[bool, str | None]: error from NumPy before the daemon starts. Treat that as "unavailable" so Hermes can degrade gracefully instead of repeatedly trying to start a broken local memory backend. + + The embedded daemon computes embeddings via ``sentence_transformers`` + (transformers + huggingface-hub). Importing ``hindsight`` / + ``hindsight_embed`` alone succeeds even when that stack is broken, so + without importing it here the probe would falsely report the backend + healthy and ``hermes memory status`` would stay green while the daemon + aborts at startup on every retain/recall. Import it too so the probe (and + status) reports the real ImportError. """ try: importlib.import_module("hindsight") importlib.import_module("hindsight_embed.daemon_embed_manager") + importlib.import_module("sentence_transformers") return True, None except Exception as exc: return False, str(exc)