# Upgrades & Versions-Pins ## Warum Pins Der Mem0-Sidecar nutzt mem0-**Interna** (NoThink-LLM-Swap, Roh-Zugriff auf die Chroma-Collection für den Graphen, Annahmen übers Result-Format). Ein unkontrolliertes mem0/chromadb-Upgrade kann das **still brechen**. Darum sind die Versionen in `mem0_service/requirements.txt` gepinnt — Upgrades passieren nur absichtlich. ## Isolation (warum ein Upgrade nicht alles mitreißt) - mem0 lebt in `~/.mem0/venv` (Python 3.12) — getrennt vom MC2-Backend (3.14). - Die stabile Grenze nach außen ist **`/api/memory`**. UI, MCP (IDEs) und der Hermes-Provider reden NUR damit, nie direkt mit mem0. Ein mem0-Upgrade betrifft also **nur den Sidecar**. ## mem0 / chromadb sicher upgraden ```bash cd ~/mission-control-v2 bash deploy/backup.sh # 1. Backup # 2. Pin anheben in mem0_service/requirements.txt (z.B. mem0ai==X.Y.Z) uv pip install --python ~/.mem0/venv/bin/python -r mem0_service/requirements.txt # 3. installieren ~/.mem0/venv/bin/python mem0_service/smoke_test.py # 4. Smoke-Test (Wegwerf-Collection) ``` - **Grün** → `systemctl --user restart mem0-service`, fertig. - **Rot** → entweder den Sidecar (`mem0_service/app.py`) an die neue mem0-API anpassen, oder Pin zurücksetzen und alten Stand per `deploy/restore.sh latest` wiederherstellen. ## Weitere Upgrade-Fallen - **Embed-Modell wechseln** = andere Vektor-Dimension → Chroma muss **neu indiziert** werden (alle Fakten neu einbetten). Aktuell: Qwen3-Embedding-0.6B / 1024 Dim. - **reagraph** ist auf **4.22.0** gepinnt — 4.23+ braucht `@react-three/fiber` v9 = React 19, das Projekt ist React 18 (Crash „reading 'S'" sonst). - **Nach Hermes-Upgrades**: prüfen, dass `~/.hermes/plugins/mc2-memory` noch lädt und `sync_turn` feuert — die `MemoryProvider`-ABC könnte sich ändern (ein Turn über den Gateway, dann `curl /api/memory` checken). - **OS/Engine-Updates** (apt, llama.cpp) laufen separat über die UI (Wartungs-Drawer) und sind von mem0 entkoppelt.