Review findings on #102117 (independent reviewer + itsflownium): * hermes_cli.kanban_db.connect / connect_closing pointed at hermes_cli.projects_db (different DB, no board= parameter). The compat generator ranked candidate homes by path proximity when a name is defined in several modules. Now it requires shape compatibility with the BASE definition (same literal for constants, superset of parameter names for defs) and prefers the facade's own <stem>_* sibling. Same class fixed for tools.tts_tool.DEFAULT_XAI_BASE_URL (-> tts_tool_providers), and 17 constants/defs that had been pointed at same-named strangers (Matrix MAX_MESSAGE_LENGTH -> Signal's 8000, tts MAX_TEXT_LENGTH -> BlueBubbles', honcho/retaindb/supermemory *_SCHEMA -> another plugin's schema, ...) are now restored from BASE verbatim instead. * send_yuanbao_direct (restored-def): body called adapter._outbound.send_direct, which HEAD moved to the sender; rewritten to adapter._outbound.sender.send_direct. * COMPAT_MANIFEST.md states the scope explicitly: public top-level names only; private names and test monkeypatch seams are not preserved. * scripts/check_subprocess_stdin.py: _splat_carries_stdin looked 30 lines ahead in the file text and was satisfied by an unrelated later stdin=; it now finds the splatted name's definition via AST and requires stdin inside that expression/body. Tests: tests/test_compat_manifest_targets.py (pointer identity vs the facade's sibling; kanban connect(board=) opens a Kanban DB, not projects.db; both FAIL on the previous layer), test_subprocess_stdin_guard gains the false-negative probe, and the MoA -Q quiet-output contract tests are back (tests/agent/test_moa_quiet_reference_output.py) against build_moa_facade.
RetainDB Memory Provider
Cloud memory API with hybrid search (Vector + BM25 + Reranking) and 7 memory types.
Requirements
- RetainDB account ($20/month) from retaindb.com
pip install requests
Setup
hermes memory setup # select "retaindb"
Or manually:
hermes config set memory.provider retaindb
echo "RETAINDB_API_KEY=your-key" >> ~/.hermes/.env
Config
All config via environment variables in .env:
| Env Var | Default | Description |
|---|---|---|
RETAINDB_API_KEY |
(required) | API key |
RETAINDB_BASE_URL |
https://api.retaindb.com |
API endpoint |
RETAINDB_PROJECT |
auto (profile-scoped) | Project identifier |
Tools
| Tool | Description |
|---|---|
retaindb_profile |
User's stable profile |
retaindb_search |
Semantic search |
retaindb_context |
Task-relevant context |
retaindb_remember |
Store a fact with type + importance |
retaindb_forget |
Delete a memory by ID |