feat: add Hermes-native LanceDB memory provider#771
Open
MarsDoge wants to merge 1 commit intoCortexReach:masterfrom
Open
feat: add Hermes-native LanceDB memory provider#771MarsDoge wants to merge 1 commit intoCortexReach:masterfrom
MarsDoge wants to merge 1 commit intoCortexReach:masterfrom
Conversation
0bdbcd7 to
877d1a8
Compare
Add a native Hermes plugin for memory-lancedb-pro that lets Hermes use the existing LanceDB-backed memory store directly instead of going through adapter shims. The provider includes plugin metadata, a Python entrypoint, and a session-scoped implementation that exposes store, retrieve, reflection, and health-check behavior while preserving safe defaults for missing optional features. Add OpenClaw migration support for teams moving existing LanceDB data into the Hermes provider. The importer validates source and destination paths, supports dry-run and confirmation flows, handles duplicate records safely, and documents operational guardrails so migrations can be reviewed before data is written. Document installation, configuration, provider behavior, and migration steps in the Hermes integration README and migration guide. Cover safety behavior such as fail-closed validation for destructive migration actions and graceful degradation when optional LanceDB integrations are unavailable. Add focused tests for the provider contract and OpenClaw migration importer, including metadata validation, storage and retrieval flows, path safety checks, dry-run behavior, and duplicate handling.
877d1a8 to
2c353a0
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds a Hermes-native
lancedb_promemory provider underintegrations/hermes/lancedb_pro/, plus a safe OpenClaw LanceDB importer for migrating legacy OpenClaw rows into a separate Hermes-schema database.What changed
lancedb_pro.HERMES_MEMORY_LANCEDB_TABLEoverride; default remainshermes_memories.<safe-table-name>.jsonl) to match table override behavior.text/timestamp/metadatarows into Hermescontent/created_at/metadata_jsonrows.lancedb.connect(), source table existence is verified before target creation/connect, and target paths equal to or inside the source are refused.metadata_jsonasoriginal_*fields.Test plan
./.migration-venv/bin/python -m py_compile integrations/hermes/lancedb_pro/provider.py integrations/hermes/lancedb_pro/scripts/import_openclaw_lancedb.py test/hermes_lancedb_pro_provider_test.py test/hermes_lancedb_pro_openclaw_migration_test.py./.migration-venv/bin/python -m pytest test/hermes_lancedb_pro_provider_test.py test/hermes_lancedb_pro_openclaw_migration_test.py -q12 passed, 1 skipped.git diff --checknpm testnode_modulesis not present.Safety notes
sync_turn/auto-capture remains disabled by default.lancedb_pro_forgetdeletes only one exact memory id.Follow-ups