docs: Referenzaufgabe fuer die Stack-Messlatte (Stufe 2)
Ampel / ampel (push) Successful in 21s

Mem0-Ausbau als wiederholbare Messaufgabe: mehrteilig genug um
aussagekraeftig zu sein, mit fuenf objektiv pruefbaren Fertig-Kriterien
und einer Ruecksetz-Anleitung fuer die Wiederholungslaeufe.

Gemessen wird nicht t/s, sondern: wird die Aufgabe fertig, wie lange
dauert es, wie viele Zuege braucht es.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Hitonabi
2026-08-20 21:04:24 +02:00
co-authored by Claude Opus 5
parent 43fa747bc3
commit 5f35f0d580
@@ -0,0 +1,71 @@
# 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?*
> Darum muss die Aufgabe **objektiv prüfbar** und **wiederholbar** sein — beides steht unten.
## Hintergrund
Mem0 wurde im August abgelöst (Commits `bf145a3`, `eb4bcfc`, `2286879`). Der Rückbau blieb aber
unvollständig: Der Sidecar-Ordner liegt noch im Baum, MC2 fragt weiterhin einen toten Port ab.
Gemessen am 20.08.2026: `curl http://127.0.0.1:8765/health`**keine Antwort**. Es läuft dort nichts,
es gibt keinen systemd-Dienst dafür, und `/srv/models/mem0` wurde bereits entfernt.
## Auftrag
Entferne die Mem0-Reste vollständig aus dem Repo, ohne etwas anderes kaputtzumachen.
**Betroffen (Stand 20.08.2026 — selbst nachprüfen, nicht blind vertrauen):**
| Ort | Was |
|---|---|
| `mem0_service/` | ganzer Ordner (app.py, migrate.py, requirements.txt, smoke_test.py) |
| `backend/config.py` | `MEM0_SERVICE_URL` + zugehöriger Kommentar |
| `backend/routers/system.py` | `_mem0_reachable()` und alle Aufrufer |
| `backend/routers/zeitmaschine.py` | prüfen, was dort auf Mem0 zeigt |
| `backend/services/backup.py` | prüfen |
| `backend/services/voice_metrics.py` | prüfen |
| `mcp/mcp_mc.py` | prüfen |
| `deploy/*.sh` | `backup.sh`, `restore.sh`, `stack-postcheck.sh`, `hermes-postcheck.sh`, `venv-audit.sh`, `agent-hooks/box-steckbrief-inject.sh` |
**Wichtig:** Wenn eine API-Antwort ein Feld wie `mem0_reachable` enthält, das das Frontend liest, darf
es nicht einfach verschwinden — sonst bricht die Oberfläche. Entweder Frontend mit anpassen oder das
Feld sauber entfernen. **Das ist der eigentliche Prüfstein dieser Aufgabe:** wer nur `grep mem0` läuft
und alles wegwirft, produziert eine Fassade.
## Fertig-Kriterien (alle müssen zutreffen)
1. `ruff check .` läuft **fehlerfrei** durch (Projekt-Politik aus `ruff.toml`)
2. `python -c "import sys; sys.path.insert(0,'backend'); import main"` läuft ohne Fehler
3. `grep -ril "mem0" backend/ mcp/ deploy/ --include='*.py' --include='*.sh'` liefert **nichts**
(Treffer in `docs/` sind erlaubt — das ist Historie)
4. `bash deploy/self-smoke.sh` ist **grün**
5. MC2 antwortet danach weiterhin gesund: `curl -s localhost:9001/api/health``"status":"ok"`
## Randbedingungen
- Arbeite auf dem Zweig **`referenz/mem0-ausbau`**, abgezweigt von `main`. **Nicht auf `main`.**
- **Nicht pushen.** Der Zweig bleibt lokal, damit der Lauf wiederholbar ist.
- **Nichts außerhalb des Repos anfassen** — kein `/etc`, keine systemd-Dienste, kein Neustart von
laufenden Diensten außer MC2 selbst (für Kriterium 5).
- Wenn du ein Kriterium nicht erfüllen kannst: **sag es ehrlich und hör auf.** Ein ehrliches
„Kriterium 3 scheitert an X" ist wertvoller als ein beschönigter Abschluss.
## Zurücksetzen zwischen den Läufen
```bash
cd ~/mission-control-v2
git checkout main
git branch -D referenz/mem0-ausbau 2>/dev/null
git checkout -b referenz/mem0-ausbau
```
## Messprotokoll
| Lauf | Modell (`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) | | | | |