rdmsm4x-changelog-20260827-0659-mem0-local-fleet-runtime
rdmsm4x-changelog-20260827-0659-mem0-local-fleet-runtime
Installed and accepted a private Mem0 OSS runtime on rdmsm4x, registered backed-up SSH-stdio clients on four reachable peers, and retired a conflicting partial runtime without deleting its worktree or data volume.
Scope
- Runtime/data host:
rdmsm4x. - Client configuration hosts:
rdmsm4x,rdmbair13m5,rdmbair15m5,rdmpw3275m, andjdmbair13m5. - Unchanged/unreachable host:
rdmpw3265m. - No public, LAN, or direct tailnet HTTP listener; no Mem0 cloud account; no historical content import; no model/routing deletion.
Repository and project records
- Canonical repository:
/Users/richh/dev/localAI/mem0. - Writer worktree:
/Users/richh/.codex/worktrees/3b89/mem0. - Branch/commit:
codex/mem0-setup-0827at7079ac107ff2f3c9a3cf187c2bec9f5656cf24e1. - Changed repository files:
AGENTS.md,README.md,SESSION-STATE.md,ISSUES.md,scripts/configure_mem0_client.zsh,scripts/install_mem0_local.zsh, andtests/test_operational_scripts.py; earlier commits in the same branch added the service, MCP bridge, Compose definition, pinned dependencies, acceptance, persistence, backup, and restore implementation. - Updated operating index:
/Users/richh/Library/Mobile Documents/com~apple~CloudDocs/Codex/projects/AGENTS.md principles/PROJECTS.md. - Updated coordination records:
/Users/richh/.agent-coordination/checkins/codex-mem0-implementation-20260827.jsonand the superseded duplicate check-in.
Runtime state changed
- Active Compose project:
mem0-local. - Active release:
/Users/richh/Library/Application Support/Mem0Local/releases/7079ac107ff2f3c9a3cf187c2bec9f5656cf24e1. - Active API image:
mem0-local-api:7079ac107ff2. mem0-apiis healthy and published only at127.0.0.1:8767.mem0-qdrantis healthy on the private Compose network with no host port.- Native Ollama remains at
127.0.0.1:11434; no Ollama model or route was changed. - Persistent state remains outside Git under
/Users/richh/Library/Application Support/Mem0Local/. - MCP launcher:
/Users/richh/bin/mem0-mcp. - The owner-only API token file remains under the Mem0Local config directory; its value was never copied or recorded.
Client configuration changed
- On each configured host,
mem0-sharedwas registered for Claude Code, Antigravity/agy, Codex CLI, and Claude Desktop where installed. rdmsm4xinvokes/Users/richh/bin/mem0-mcpdirectly.- Peer hosts invoke
ssh -T -o BatchMode=yes [email protected] /Users/richh/bin/mem0-mcpover stdio. No Mem0 API credential or stored memory data was distributed. - Local configuration backup:
/Users/richh/Library/Application Support/Mem0Client/config-backups/20260827-063509-rdmsm4x. - Peer backup paths:
/Users/richh/Library/Application Support/Mem0Client/config-backups/20260827-063633-rdmbair13m5,/Users/richh/Library/Application Support/Mem0Client/config-backups/20260827-063633-rdmbair15m5,/Users/richh/Library/Application Support/Mem0Client/config-backups/20260827-063632-rdmpw3275m, and/Users/richh/Library/Application Support/Mem0Client/config-backups/20260827-063633-jdmbair13m5. jdmbair13m5Homebrew Claude executable mode was restored from0644to0755before verifying its MCP connection.
Duplicate lane reconciliation
- Removed only container objects
mem0local-apiandmem0local-qdrantplus networkmem0local-privateafter the duplicate task released ownership. - Preserved dirty worktree
/Users/richh/dev/_worktrees/codex-mem0-fleet-runtime-20260827. - Preserved named volume
mem0local-qdrant-data. - Archived duplicate Codex task
01a040a5-d281-74d1-be8c-9f4afbb0b943. - The accepted
mem0-localruntime remained healthy throughout reconciliation.
Commands and verification
- Repository:
uv run --frozen pytest -q,uv run --frozen ruff check .,zsh -n scripts/*.zsh, rendereddocker compose ... config --quiet,git diff --check, and secret-pattern scans. - Deployment:
zsh scripts/install_mem0_local.zsh. - Runtime:
zsh scripts/validate_mem0_local.zsh,zsh scripts/acceptance_mem0_local.zsh, andzsh scripts/verify_persistence_mem0_local.zsh. - Recovery:
zsh scripts/backup_mem0_local.zshandzsh scripts/restore_proof_mem0_local.zsh <backup>against an unpublished disposable Qdrant. - MCP: official SDK initialize/list-tools handshake through
/Users/richh/bin/mem0-mcp. - Final evidence: 37 tests passed; Ruff passed; all zsh syntax checks
passed; both containers healthy; Qdrant dimension 2,560; API
authentication enforced; listener bound to loopback; MCP protocol
2025-11-25exposed seven expected tools; synthetic CRUD and guarded delete passed; restart persistence passed; live memory count zero; transient snapshot count zero. - Independent non-Codex evidence: Claude Code completed synthetic MCP add/search/delete before Codex registration. Claude reported connected on all four reachable peer registrations.
- Installer defect repaired: macOS
pipefailobserved Git-archive SIGPIPE; regression test added and installer changed to a private temporary archive file before extraction.
Backups
- Content-bearing restore canary:
/Users/richh/Library/Application Support/Mem0Local/backups/20260827-062616-f1f4b53e39a8. - Final-release structural restore:
/Users/richh/Library/Application Support/Mem0Local/backups/20260827-065613-43403c131320. - Previous code release:
/Users/richh/Library/Application Support/Mem0Local/releases/43403c131320501ba64d13d6ba96cc2ad4b4bba8. - No backup contains a credential value.
Undo
- Restore each client's pre-change configuration from that host's
Mem0Client backup directory, or remove only the
mem0-sharedMCP registration. - For a code rollback, repoint the Mem0Local
currentrelease and layout metadata to the retained previous release, recreate only Compose projectmem0-local, and rerun validation. - Preserve
/Users/richh/Library/Application Support/Mem0Local/qdrant, history, backups, all older releases, and Ollama models during rollback. - Do not delete the duplicate worktree or
mem0local-qdrant-datavolume without a separate review decision.
Outstanding actions
rdmpw3265m: configure when the host is reachable.- Antigravity/agy: independent live tool canary remains blocked by a
pre-existing local telemetry hook;
rdmbair15m5agy is not authenticated. - Codex and Claude Desktop: restart/reload and verify live MCP tool discovery.
- Web-only ChatGPT/Grok plus Nativ/ToshLLM: no validated maintained adapter yet.
- Claude lead: receive and accept the final isolated-branch handoff before canonical-main integration is declared complete.