docs: Referenzaufgabe auf gemessene Pfade korrigiert (ruff-venv, app statt main, Worktree)
Ampel / ampel (push) Successful in 22s
Ampel / ampel (push) Successful in 22s
This commit is contained in:
@@ -3,68 +3,86 @@
|
|||||||
> **Zweck dieser Datei:** Messlatte für den Stack-Umbau (Stufe 2, 20.08.2026). Dieselbe Aufgabe wird
|
> **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:
|
> mehrfach mit verschiedenen Modellen gefahren. Gemessen wird **nicht** Tokens pro Sekunde, sondern:
|
||||||
> *Wurde sie fertig? Wie lange? Wie viele Züge?*
|
> *Wurde sie fertig? Wie lange? Wie viele Züge?*
|
||||||
> Darum muss die Aufgabe **objektiv prüfbar** und **wiederholbar** sein — beides steht unten.
|
> Alle Pfade und Befehle unten sind am 20.08.2026 auf der Box **nachgemessen**, nicht geraten.
|
||||||
|
|
||||||
## Hintergrund
|
## Hintergrund
|
||||||
|
|
||||||
Mem0 wurde im August abgelöst (Commits `bf145a3`, `eb4bcfc`, `2286879`). Der Rückbau blieb aber
|
Mem0 wurde im August abgelöst (`bf145a3`, `eb4bcfc`, `2286879`). Der Rückbau blieb unvollständig:
|
||||||
unvollständig: Der Sidecar-Ordner liegt noch im Baum, MC2 fragt weiterhin einen toten Port ab.
|
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,
|
Gemessen: `curl http://127.0.0.1:8765/health` → **keine Antwort**. Kein systemd-Dienst dafür,
|
||||||
es gibt keinen systemd-Dienst dafür, und `/srv/models/mem0` wurde bereits entfernt.
|
`/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
|
## Auftrag
|
||||||
|
|
||||||
Entferne die Mem0-Reste vollständig aus dem Repo, ohne etwas anderes kaputtzumachen.
|
Entferne die Mem0-Reste vollständig, ohne etwas anderes kaputtzumachen.
|
||||||
|
|
||||||
**Betroffen (Stand 20.08.2026 — selbst nachprüfen, nicht blind vertrauen):**
|
**17 Dateien haben Treffer** (gemessen 20.08., selbst nachprüfen statt blind vertrauen):
|
||||||
|
|
||||||
| Ort | Was |
|
```
|
||||||
|---|---|
|
backend/steward.py deploy/stack-postcheck.sh
|
||||||
| `mem0_service/` | ganzer Ordner (app.py, migrate.py, requirements.txt, smoke_test.py) |
|
backend/config.py deploy/venv-audit.sh
|
||||||
| `backend/config.py` | `MEM0_SERVICE_URL` + zugehöriger Kommentar |
|
backend/routers/voice.py deploy/agent-hooks/box-steckbrief-inject.sh
|
||||||
| `backend/routers/system.py` | `_mem0_reachable()` und alle Aufrufer |
|
backend/routers/system.py deploy/warmup.sh
|
||||||
| `backend/routers/zeitmaschine.py` | prüfen, was dort auf Mem0 zeigt |
|
backend/routers/zeitmaschine.py deploy/autoupdate.sh
|
||||||
| `backend/services/backup.py` | prüfen |
|
backend/services/sentry.py deploy/hermes-postcheck.sh
|
||||||
| `backend/services/voice_metrics.py` | prüfen |
|
backend/services/voice_metrics.py deploy/restore.sh
|
||||||
| `mcp/mcp_mc.py` | prüfen |
|
backend/services/backup.py deploy/backup.sh
|
||||||
| `deploy/*.sh` | `backup.sh`, `restore.sh`, `stack-postcheck.sh`, `hermes-postcheck.sh`, `venv-audit.sh`, `agent-hooks/box-steckbrief-inject.sh` |
|
mcp/mcp_mc.py
|
||||||
|
```
|
||||||
|
|
||||||
**Wichtig:** Wenn eine API-Antwort ein Feld wie `mem0_reachable` enthält, das das Frontend liest, darf
|
Dazu der Ordner `mem0_service/` (app.py, migrate.py, requirements.txt, smoke_test.py).
|
||||||
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)
|
> ‼️ **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.
|
||||||
|
|
||||||
1. `ruff check .` läuft **fehlerfrei** durch (Projekt-Politik aus `ruff.toml`)
|
## Fertig-Kriterien
|
||||||
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**
|
Ausgangswert am 20.08.: **1, 2, 4, 5 sind bereits grün** — sie sind Schutzgeländer, nicht die Arbeit.
|
||||||
(Treffer in `docs/` sind erlaubt — das ist Historie)
|
Nur Kriterium 3 ist offen. Wer 3 erfüllt und dabei 1/2/4/5 kaputtmacht, hat versagt.
|
||||||
4. `bash deploy/self-smoke.sh` ist **grün**
|
|
||||||
5. MC2 antwortet danach weiterhin gesund: `curl -s localhost:9001/api/health` → `"status":"ok"`
|
| # | 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
|
## 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.
|
- **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
|
- **Nichts außerhalb des Worktrees anfassen** — kein `/etc`, keine systemd-Dienste, kein Neustart.
|
||||||
laufenden Diensten außer MC2 selbst (für Kriterium 5).
|
- Wenn ein Kriterium nicht erfüllbar ist: **ehrlich sagen und aufhören.** Ein klares
|
||||||
- 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.
|
„Kriterium 3 scheitert an X" ist wertvoller als ein beschönigter Abschluss.
|
||||||
|
|
||||||
## Zurücksetzen zwischen den Läufen
|
## Zurücksetzen zwischen den Läufen
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd ~/mission-control-v2
|
cd ~/mission-control-v2
|
||||||
git checkout main
|
git worktree remove --force ~/projekte/mc2-referenz
|
||||||
git branch -D referenz/mem0-ausbau 2>/dev/null
|
git branch -D referenz/mem0-ausbau
|
||||||
git checkout -b referenz/mem0-ausbau
|
git worktree add -b referenz/mem0-ausbau ~/projekte/mc2-referenz main
|
||||||
```
|
```
|
||||||
|
|
||||||
## Messprotokoll
|
## Messprotokoll
|
||||||
|
|
||||||
| Lauf | Modell (`coder`-Rolle) | Fertig? | Wanduhr | Züge | Bemerkung |
|
| Lauf | Modell in der `coder`-Rolle | Fertig? | Wanduhr | Züge | Bemerkung |
|
||||||
|---|---|---|---|---|---|
|
|---|---|---|---|---|---|
|
||||||
| A | Qwen3.8-27B (dicht, 12,6 t/s) — Ausgangswert | | | | |
|
| A | Qwen3.8-27B (dicht, 12,6 t/s) — Ausgangswert | | | | |
|
||||||
| B | Qwen3.8-27B **+ DFlash-2** | | | | |
|
| B | Qwen3.8-27B **+ DFlash-2** | | | | |
|
||||||
|
|||||||
Reference in New Issue
Block a user