Files
mission-control-v2/docs/UPGRADE.md
Hitonabi 46f108b6f3 Feat: Update-Absicherung — Versions-Pins + Smoke-Test + Upgrade-Doku
Schliesst den offenen "Update"-Punkt aus dem Upgrade-Playbook (Backup war Schicht 1):
- mem0_service/requirements.txt jetzt GEPINNT (mem0ai==2.0.8, chromadb==1.5.9,
  fastapi==0.138.1, uvicorn==0.49.0) -> Upgrades nur absichtlich. Grund: der Sidecar
  nutzt mem0-Interna (NoThink-Swap, Roh-Chroma-Zugriff), die ein blindes Upgrade still
  brechen koennte.
- mem0_service/smoke_test.py: prueft add/Suche/Auto-Lernen/Deutsch/Auto-Einordnung/Graph
  gegen eine WEGWERF-Collection (fasst /srv/models/mem0 nicht an). Vor/nach mem0-Upgrades
  laufen lassen. Live: alle Tests gruen.
- docs/UPGRADE.md: sichere Upgrade-Prozedur (Backup -> Pin -> install -> smoke_test ->
  gruen=restart / rot=anpassen oder restore) + reagraph/React- und Hermes-Plugin-Hinweise.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-27 21:32:36 +02:00

2.0 KiB

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

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ünsystemctl --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.