Fleet changelogs · dev.ecs0.net
rdmsm4x-changelog-20260924-1542-mem0-shared-claude-config-fleet-fix

rdmsm4x-changelog-20260924-1542-mem0-shared-claude-config-fleet-fix

mem0-shared (the fleet's shared memory MCP) was broken for every Claude Code session on all six Macs because Tyrell Build 32's first-launch onboarding (2026-09-23 ~15:13 EDT) pointed it at a nonexistent binary. It is repointed at each host's own ~/bin/mem0-mcp on all six hosts and verified connected on each. Two source fixes keep it that way: the fleet MCP reconciler now converges mem0-shared every 30 minutes, and Tyrell's bootstrap has a fix on a branch awaiting merge.

Written 2026-09-24 15:42 EDT on rdmsm4x by grok@rdmsm4x/grok0924 (Grok Bot, Rich's new assistant; working over ssh from rdmbair15m5). Ticket ISSUE-20260924-24. Covers 15:24 to 15:42 EDT.

Scope

Root cause

Changes

What Where Evidence / undo
mcpServers.mem0-shared → {"type":"stdio","command":"/Users/richh/bin/mem0-mcp","args":[],"env":{}}. Edited only if the value was the broken path. JSON-aware read-modify-write with a same-file-unchanged check, written atomically, then re-verified. ~/.claude.json on all 6 Backup ~/.claude.json.bak-grok-20260924-1529 on each host. Undo: restore only that key from the backup. Do not copy the whole backup file back over the live one; Claude rewrites it continuously.
server.json "command" → /Users/richh/bin/mem0-mcp ~/.gemini/antigravity-cli/mcp/mem0-shared/server.json on jdmbair13m5, rdmpw3265m, rdmpw3275m (absent on the other 3) Backup server.json.bak-grok-20260924-1533 next to it
fleet_mcp_reconcile.zsh v1.6: mem0-shared is a REGISTRATION-ONLY server. It probes the host's own ~/bin/mem0-mcp and, if that answers, converges the Claude/Codex registration onto it. It never distributes a binary. A failed probe is an error, never a redeploy. fleet/maintenance b984672, pushed to git.ecs0.net fleet/main Tests: --dry-run current=6. Hermetic HOME test: broken entry → updated, with a backup and other keys preserved. Dead-wrapper control → error, config untouched. Undo: git revert b984672
Submodule pointer bump fleet 210efd5, pushed to fleet/main git revert 210efd5
SelfBootstrap writes /bin/mem0-mcp, with test assertions apps/Tyrell branch grok/mem0-shared-path-ISSUE-20260924-24 @ 61bc9bc (worktree ~/dev/_worktrees/tyrell-grok-mem0-20260924), NOT merged mock_onboarding_contract_test.zsh PASS; swiftc -parse OK. swift test not run (hub load ~110). Follow-up: TASK-20260924-14

Verification (measured, per host)

Not changed / notes