Files
mission-control-v2/docs/aufgaben/referenzaufgabe-mem0-ausbau.md
T

3.9 KiB

Referenzaufgabe: Mem0-Sidecar restlos ausbauen

Zweck dieser Datei: Messlatte für den Stack-Umbau (Stufe 2, 20.08.2026). Dieselbe Aufgabe wird mehrfach mit verschiedenen Modellen gefahren. Gemessen wird nicht Tokens pro Sekunde, sondern: Wurde sie fertig? Wie lange? Wie viele Züge? Alle Pfade und Befehle unten sind am 20.08.2026 auf der Box nachgemessen, nicht geraten.

Hintergrund

Mem0 wurde im August abgelöst (bf145a3, eb4bcfc, 2286879). Der Rückbau blieb unvollständig: Der Sidecar-Ordner liegt noch im Baum, MC2 fragt weiterhin einen toten Port ab.

Gemessen: curl http://127.0.0.1:8765/healthkeine Antwort. Kein systemd-Dienst dafür, /srv/models/mem0 bereits entfernt. Es ist also wirklich tot, nicht nur gerade aus.

Arbeitsplatz

Isolierter Worktree — NICHT das Live-Deployment:

~/projekte/mc2-referenz        Zweig: referenz/mem0-ausbau

~/mission-control-v2 bleibt auf main und bedient weiter den laufenden Dienst auf :9001. Dort nichts ändern.

Auftrag

Entferne die Mem0-Reste vollständig, ohne etwas anderes kaputtzumachen.

17 Dateien haben Treffer (gemessen 20.08., selbst nachprüfen statt blind vertrauen):

backend/steward.py                        deploy/stack-postcheck.sh
backend/config.py                         deploy/venv-audit.sh
backend/routers/voice.py                  deploy/agent-hooks/box-steckbrief-inject.sh
backend/routers/system.py                 deploy/warmup.sh
backend/routers/zeitmaschine.py           deploy/autoupdate.sh
backend/services/sentry.py                deploy/hermes-postcheck.sh
backend/services/voice_metrics.py         deploy/restore.sh
backend/services/backup.py                deploy/backup.sh
mcp/mcp_mc.py

Dazu der Ordner mem0_service/ (app.py, migrate.py, requirements.txt, smoke_test.py).

‼️ Der eigentliche Prüfstein: Wenn eine API-Antwort ein Feld wie mem0_reachable liefert, das das Frontend liest, darf es nicht einfach verschwinden — sonst bricht die Oberfläche. Entweder das Frontend mit anpassen oder das Feld sauber entfernen. Wer nur grep mem0 laufen lässt und alles wegwirft, produziert eine Fassade.

Fertig-Kriterien

Ausgangswert am 20.08.: 1, 2, 4, 5 sind bereits grün — sie sind Schutzgeländer, nicht die Arbeit. Nur Kriterium 3 ist offen. Wer 3 erfüllt und dabei 1/2/4/5 kaputtmacht, hat versagt.

# Prüfung Befehl Ausgangswert
1 Lint sauber cd ~/projekte/mc2-referenz && ~/.venv-lint/bin/ruff check . All checks passed
2 Backend lädt cd ~/projekte/mc2-referenz/backend && ~/mission-control-v2/backend/.venv/bin/python -c "import app" ok
3 keine mem0-Reste cd ~/projekte/mc2-referenz && grep -ril mem0 backend/ mcp/ deploy/ --include='*.py' --include='*.sh' | wc -l 17 → muss 0 werden
4 Selbsttest grün bash ~/mission-control-v2/deploy/self-smoke.sh grün
5 MC2 gesund curl -s localhost:9001/api/health "status":"ok"

Treffer in docs/ sind erlaubt — das ist Historie und darf stehenbleiben.

Randbedingungen

  • Nicht pushen. Der Zweig bleibt lokal, damit der Lauf wiederholbar ist.
  • Nichts außerhalb des Worktrees anfassen — kein /etc, keine systemd-Dienste, kein Neustart.
  • Wenn ein Kriterium nicht erfüllbar ist: ehrlich sagen und aufhören. Ein klares „Kriterium 3 scheitert an X" ist wertvoller als ein beschönigter Abschluss.

Zurücksetzen zwischen den Läufen

cd ~/mission-control-v2
git worktree remove --force ~/projekte/mc2-referenz
git branch -D referenz/mem0-ausbau
git worktree add -b referenz/mem0-ausbau ~/projekte/mc2-referenz main

Messprotokoll

Lauf Modell in der coder-Rolle Fertig? Wanduhr Züge Bemerkung
A Qwen3.8-27B (dicht, 12,6 t/s) — Ausgangswert
B Qwen3.8-27B + DFlash-2
C Qwen3.6-35B-A3B (fast, 95,7 t/s)