This repository was archived by the owner on May 31, 2026. It is now read-only.
v0.1.6
Fixed
bm_*tools were never registered with Hermes'sMemoryManager._tool_to_provider.get_tool_schemas()was gated onself._initialized, but Hermes captures the schema list at register time — beforeinitialize()runs. The gate caused every session to start with zero tools registered for our provider, so every LLM-issuedbm_search(and friends) returned"Unknown tool: bm_search"from MemoryManager's dispatch. Symptoms were asymmetric: prefetch (recall injection) worked because it's invoked per-turn after init, but tool calls didn't. Schemas are static — they now return unconditionally, withhandle_tool_call()doing the runtime "is the actor ready?" gate.- Regression test pins this so we don't reintroduce it:
test_get_tool_schemas_unconditionalassertsget_tool_schemas()returns all 7 schemas on a fresh, uninitialized provider.