feat(memory) add observational memory provider - #12583
Conversation
993e884 to
12c5cc1
Compare
|
Carrying over a short positioning note from the now-closed #4787 because it helps frame where this provider fits in the Hermes memory lineup. Observational Memory is strongest when the goal is cross-agent continuity that stays local and inspectable. In practice that means Hermes can share the same markdown memory store with Claude Code and Codex, while still giving users readable files, local search, compact startup context, and optional writeback. Relative to the other providers:
The underlying Mastra's published results for that underlying OM architecture report 84.23% on LongMemEval with I also added a longer version of this positioning note to the standalone plugin README here: |
|
@ZaynJarvis this is ready for an OM-focused review when you have a window. I refreshed the split PR onto current
Current validation:
The only remaining red check is the full So from the perspective of this PR's scope: the stale docs/Docker blockers are gone, the OM-specific coverage is green, and the remaining full-suite red is current-main baseline rather than introduced by this diff. This PR is the scoped replacement for #4787 and now satisfies the split requested there: OM only, no redaction/gateway/CI hardening changes bundled in. |
|
for new plugin support. recommend go to Discord #developer channel to submit feature request, would probably be discussed thoroughly |
|
Update: I followed Zayn's suggestion and posted the native-provider discussion in the Discord plugin channel/thread. I also refreshed this PR onto current Current validation:
Remaining red checks appear unrelated to this diff:
So the OM-specific surface is green; the remaining red is current-main baseline plus a fork-permission issue in the advisory lint-comment step. |
|
Thanks for the contribution! Per the updated CONTRIBUTING.md, new memory providers are no longer accepted as in-tree additions to
Closing this in line with that policy. The path forward is to publish it as a standalone plugin so users can install it directly without touching the Hermes source tree. Once it's published, a small docs PR adding it to the Community plugins section of the README is welcome. Sorry for the bump — appreciate the time you put into this. |
What does this PR do?
Adds Observational Memory as a first-class Hermes memory provider on top of current
main, split out from the broader mixed-scope branch in #4787.This version keeps the scope to the OM integration itself:
plugins/memory/observational_memory/as a memory provider plugintests/agent/test_observational_memory_provider.pyobservational-memory>=0.5.1Related Issue
Follow-up split of #4787.
Type of Change
Changes Made
plugins/memory/observational_memory/tests/agent/test_observational_memory_provider.py0.5.1so Hermes writeback inherits OM's GPT-5/o-series OpenAI compatibility fixHow to Test
pip install "observational-memory>=0.5.1"hermes memory setupand selectobservational_memoryPYTHONPATH=/path/to/observational-memory/src \ uv run --extra dev python -m pytest -o addopts='' \ tests/agent/test_observational_memory_provider.py \ tests/agent/test_memory_provider.py \ tests/run_agent/test_memory_provider_init.py -qExpected result:
67 passedPlatforms Tested
Checklist
pytest tests/ -qand all tests pass locally