Files
mission-control-v2/docs/UPGRADE.md
T
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

36 lines
2.0 KiB
Markdown

# 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.