8.7 KiB
8.7 KiB
Savepoint — Mem0-Ausbau (Referenzaufgabe)
Stand: 2026-08-22, Worktree referenz/mem0-ausbau in F:\Coding Stuff\mc2-referenz.
Branch wurde aus d508a84 (A2's gesicherter Stand) erstellt und enthält dessen 5 bearbeitete Dateien.
Auftrag
docs/aufgaben/referenzaufgabe-mem0-ausbau.md: Mem0-Reste vollständig entfernen, ohne MC2/Frontend/Deployment zu brechen.
- Messlatte:
ruffclean, Backendimport appsauber,grep -ril mem0 backend/ mcp/ deploy/ --include='*.py' --include='*.sh'= 0 Dateien,mem0_service/entfernt, Box-Smoke/Health so weit wie möglich grün. - Prüfstein: API-Felder wie
mem0_msnicht einfach löschen — Frontend mit anpassen oder Feld sauber aus beiden Seiten entfernen. - Arbeitsweise: Datei für Datei, höchstens zwei vor der ersten Änderung. Nach jeder Änderung ein Satz.
- Live-Deployment
~/mission-control-v2ist TABU.
Wichtig: A2-Vorgang (Commit d508a84 — bereits auf diesem Branch)
Diese 5 Dateien wurden vom abgebrochenen Lauf A2 bereits bearbeitet und im Commit d508a84 gesichert:
backend/config.py—MEMORY_DBundMC_MEM_DEDUPE_ENABLEDentfernt,MEM0_SERVICE_URL-Kommentar bereinigtbackend/routers/system.py—_mem0_reachable()entfernt,mem0_reachableaus Systeminfobackend/routers/voice.py—Mem0-Retrieve→Gedächtnis-Retrievebackend/routers/zeitmaschine.py—Mem0in Docstrings/Kommentaren →Gedächtnisbackend/services/sentry.py—MC_MEM0_DASHBOARD_URLin Docstring entfernt
git status war nach d508a84 clean.
Wichtig: Kahlschlag-Commit 1e68f62 (bereits auf main)
backend/services/memory.py— gelöschtbackend/routers/memory.py— gelöscht (/api/memoryexistiert nicht mehr)deploy/mc2-steward.service— gelöschtdeploy/mem0-service.service— gelöschtdeploy/voice-service.service— gelöschtdeploy/mem0-konsolidierung.*— gelöscht
Erledigt in dieser Sitzung
1. backend/steward.py
- Toter Import
from services import memory as memory_svcentfernt - Toter
memory_svc.AUTO_DEDUPE_ENABLED-Block entfernt - Docstring:
Mem0-Auto-Dedupe→Re-Warm-Wächter und Health-Wächter (sentry) - Docstring:
memory.auto_dedupe_loop — Gedächtnis-Dublettenentfernt - Docstring:
MC_MEM_DEDUPE_ENABLEDentfernt - Verifiziert:
memory.pywurde in Kahlschlag gelöscht,steward.pyhatte toten Import
2. backend/services/voice_metrics.py (alle 9 Treffer bereinigt)
- Docstring (3x):
Mem0-Retrieve→Gedächtnis-Retrieve - Line 10:
Mem0-Retrieveim Best-effort-Kommentar →Gedächtnis-Retrieve - Line 39:
Mem0-Retrieveim docstring →Gedächtnis-Retrieve - Line 56:
Geparkten Mem0-Retrieve→Geparkten Gedächtnis-Retrieve - Line 106:
Unter-Detail: mem0 (Teil VON hirn...→Unter-Detail: memory (Teil VON hirn... - Line 116:
Agent + Mem0 + TTFT→Agent + Gedächtnis + TTFT - Line 133:
Agent-Overhead + Mem0 + LLM-TTFT→Agent-Overhead + Gedächtnis + LLM-TTFT - Line 141:
mem0 = _take_retrieve(...)→memory = _take_retrieve(...)(starker Kommentar) - Line 154:
"mem0_ms"→"memory_ms"(API-Feld im JSON-Rückgabewort)
3. frontend/src/lib/api.ts (3 Treffer)
- Line 446:
mem0 = Unter-Detail INNERHALB von hirn→memory = Unter-Detail INNERHALB von hirn - Line 455:
Agent + Mem0 + LLM-TTFT→Agent + Gedächtnis + LLM-TTFT - Line 457:
mem0_ms: number | null // ... (Mem0-Retrieve)→memory_ms: number | null // ... (Gedächtnis-Retrieve)
4. frontend/src/components/dashboard/LatencyCard.tsx (4 Treffer)
- Line 5:
Mem0 ist ein Unter-Detail→Gedächtnis ist ein Unter-Detail - Line 42:
t.mem0_ms(2x) →t.memory_ms(2x) - Line 106:
latest.mem0_ms(2x) →latest.memory_ms(2x) - Line 131:
Agent + Mem0-Suche→Agent + Gedächtnis-Suche
5. frontend/src/views/GuideView.tsx (1 Treffer, kompletter Paragraph)
- Stack-Paragraph (Card 8 "Gedächtnis & RAG"): "Dein Gedächtnis ist Mem0-basiert: auto-lernend..." umgeschrieben zu "Dein Gedächtnis ist auto-lernend & semantisch: Der Agent lernt im Hintergrund nach jedem Turn..."
- Gotcha-Zeile (Mem0-extraktion) entfernt
- Begründung: Gedächtnis-Tab existiert nicht mehr (Kahlschlag), Mem0 wurde durch Hermes-Nativ abgelöst
6. backend/services/backup.py (1 Treffer)
- Docstring:
Full state backup (mem0 + ...)→Full state backup (...)
7. deploy/backup.sh (8 Treffer)
- Line 6-7: Kommentar
mem0 (Chroma + history.db)aus Inhalt entfernt - Line 23:
MEM0_DIR="${MC_MEM0_DIR:-/srv/models/mem0}"— ganze Zeile gelöscht - Line 30:
mkdir -p "$STAGE/mem0"— aus mkdir entfernt - Line 32:
[ -d "$MEM0_DIR" ] && cp -a "$MEM0_DIR/." "$STAGE/mem0/" || true— ganze Zeile gelöscht - Line 63: Kommentar
mem0-venv ist uv-managed→voice-venv ist uv-managed - Line 71:
freeze_venv "$HOME/.mem0/venv/bin/python" "$KG/pip-mem0.txt"— ganze Zeile gelöscht - Line 82:
$HOME/.mem0/venv/bin/pythonaus for-Schleife entfernt - Line 95: MANIFEST:
mem0 (chroma + history.db)aus Inhalt entfernt
Noch offen (nächste Dateien)
8. mcp/mcp_mc.py
- Treffer: "mem0" in Texten (Stack-Dienste, Backup-Beschreibung, Service-Liste)
- Keine Logik, nur Dokumentation/Texte → Mem0 → Gedächtnis
9. deploy/agent-hooks/box-steckbrief-inject.sh
- Treffer: "mem0" in Texten/Kommentaren
10. deploy/autoupdate.sh
- Treffer: "mem0" in Texten/Kommentaren
11. deploy/hermes-postcheck.sh
- Treffer: "mem0" in Texten/Kommentaren
12. deploy/restore.sh
- Treffer: "mem0" — VORSICHT: Dies ist die Gegenstück zu backup.sh! Wenn restore.sh mem0-Reste im Restore-Prozess hat, müssen diese entfernt werden. Keine Logik ändern, nur mem0-Referenzen.
13. deploy/stack-postcheck.sh
- Treffer: "mem0" in Texten/Kommentaren
14. deploy/warmup.sh
- Treffer: "mem0" in Texten/Kommentaren
15. deploy/venv-audit.sh
- Treffer: "mem0" in Texten/Kommentaren
16. Ordner mem0_service/ löschen
- Enthält:
app.py,migrate.py,smoke_test.py,requirements.txt - Toter Sidecar: Port
:8765antwortet nicht, nicht systemd-registered
Noch nicht touchen (out-of-scope / unklar)
voice_service/app.py + voice_service/install.sh
- Enthalten "mem0" — gehören zur voice_service, nicht zur Messlatte
- voice_service.service wurde in Kahlschlag gelöscht, aber voice_service/ Ordner ist noch vorhanden
- Entscheidung: Nicht bearbeiten, da nicht in
backend/,mcp/,deploy/Messlatte
hermes/plugins/mc2-memory/ (2 Dateien)
__init__.py,plugin.yaml- Rufen
/api/memoryauf → existiert nicht mehr, degradieren gracefully - Nicht in Messlatte (
deploy/mit.py/.sh— YAML zählt nicht, Python-Plugin ist extern) - Entscheidung: Nicht bearbeiten (Hermes-Plugin, nicht Teil von MC2)
deploy/mission-control-2.service + deploy/mc2-backup.service
- systemd Service-Dateien (keine
.pyoder.sh) - Nicht in Messlatte, aber könnten Mem0-Referenzen haben
- Entscheidung: Prüfen, ob sie Mem0 nennen; wenn ja, Text anpassen
deploy/llama-swap.config.yaml
- YAML, nicht in Messlatte
frontend/dist/
- Muss nach Änderungen neu gebaut werden (
npm run build) - NACHDEM alle .ts/.tsx Dateien bearbeitet sind
Bekannte Fallstricke
- Prüfstein (Frontend-Konsistenz):
mem0_mswar ein API-Feld, das das Frontend las. Wurde zumemory_msumbenannt + Frontend angepasst. Nicht einfach löschen. - Restore vs. Backup:
restore.shist das Gegenstück zubackup.sh. Wenn backup.sh mem0 weglässt, darf restore.sh nicht versuchen, mem0 zu restaurieren. Sorgfältig prüfen! headfunktioniert in PowerShell nicht: MussSelect-Object -First Nverwenden.- Globs für native Befehle:
rgmit Globs muss gequoted werden, sonst spaltet PowerShell falsch. frontend/distist im git: Nach Frontend-Änderungen mussnpm run buildlaufen und das neuedistcommittet werden./api/memoryexistiert nicht mehr (Kahlschlag), aberfrontend/src/lib/queries.tsruft es noch viauseMemory():api<Memory[]>(/api/memory.... Das ist ein vorher bestehendes Problem (nicht eingeführt in dieser Runde).
Nächster Schritt
mcp/mcp_mc.pybearbeiten → Mem0 in Texten/Kommentaren zu Gedächtnisdeploy/agent-hooks/box-steckbrief-inject.shbearbeitendeploy/autoupdate.sh,deploy/hermes-postcheck.sh,deploy/restore.sh,deploy/stack-postcheck.sh,deploy/warmup.sh,deploy/venv-audit.shbearbeitenmem0_service/Ordner löschenruff+import appprüfengrep -ril mem0 backend/ mcp/ deploy/ --include='*.py' --include='*.sh'→ muss 0 ergebenfrontend/distneu bauen (Box:cd frontend && npm run build)