Files
mission-control-v2/docs/wissen/VERDIKTE.md
T
HitonabiandClaude Opus 5.5 45048c60b7 doku: Stand main 75611be nachgezogen (Phase 2a, Waechter-Fixes)
- STACK.md: Instanz-Rolle box, Partner noch nicht eingerichtet; 62 /api-Routen; Waechter prueft
  die Partner-Instanz, sobald es sie gibt.
- OFFENE-FAEDEN.md: Phase 2 begonnen (2a auf main: backend/kern/, /api/partner,
  Partner-Pruefung, Telegram-Zweitweg); die Homelab-Instanz selbst in Phase 3 (User-OK).
  Punkt "Waechter prueft die schlafende Spracherkennung" gestrichen - auf main behoben (99ba6a7).
- VERDIKTE.md: eine Codebasis, zwei Rollen (MC_ROLLE); zweiter Weg zu Telegram direkt ueber die
  Bot-API.
- FALLEN.md: schlafgelegte Dienste auch in den HTTP-Proben ausnehmen (Fehlalarm 24.09. 14:56).
- ARBEITSWEISE.md, README.md: Homelab-Instanz ab Phase 3, Partner-Pruefung "sobald eingerichtet".

Pruefungen: git grep auf Altbegriffe ausserhalb docs/archiv trifft nur noch die Tabelle
"Ueberholt (mit Datum)" in VERDIKTE.md; 0 tote Links in 15 Dateien; keine zerrissenen Tabellen.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-24 17:43:25 +02:00

147 lines
12 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Verdikte — entschieden, nicht neu aufrollen
_Stand 24.09.2026. Jedes Verdikt nennt Datum und Grund. Wer eines kippen will, braucht eine neue Messung
oder einen User-Entscheid (siehe [ARBEITSWEISE.md](ARBEITSWEISE.md)). Abgelöstes steht unten unter
„Überholt (mit Datum)": ersetzt, nicht gelöscht._
## Richtung
- **Box-Wart (23.09.):** MC2 ist nur noch Updater, Wächter und Modell-Radar der KI-Box. Coding läuft in
OpenChamber; Ideen, Wissen, Chronik, Skills-Ansicht, Verbinden und Konsole sind aus der Oberfläche raus.
Bedienung im Browser an PC und Handy, Oberfläche im Stil „Cockpit" (Warnlampen, Instrumente).
- **Umbau statt Neubau (24.09.):** Wächter, Updates mit Rückweg und Festhalten, getrennte Prozesse, Cockpit und
Gateway tragen. Neu gebaut wird hinter Schnittstellen: Job-Engine, Einstellungen, Verlauf (Plan:
[OFFENE-FAEDEN.md](OFFENE-FAEDEN.md)). Einen Neubau („MC3") hatte der User schon am 03.07. verworfen.
- **Homelab Orchestrator (24.09.):** zwei Instanzen, eine Oberfläche. Der Box-Wart bleibt auf der KI-Box, der
Homelab-Teil läuft als Container auf dem Proxmox-PC, beide prüfen sich gegenseitig. „Box-Wart" bleibt der
Name des Bereichs für die KI-Box, „Homelab" der für den Proxmox-PC. Beide Instanzen laufen mit derselben
Codebasis, unterschieden durch `MC_ROLLE` (`box` oder `homelab`).
- **Homelab-Umfang und Rechte (24.09.):** Proxmox-Host, 6 Container, Arcane mit Docker, KI-Box, nichts weiter.
Proxmox nur über eine Lese-API und einen kleinen Ausführer auf dem Host. Dabei ist, was das Etikett
`community-script` oder `watcher` trägt; `watcher-aus` nimmt ein Gerät aus. Schlüssel und Ausführer erst nach
User-OK.
- **Homelab-Updates nur per Knopf (24.09.):** „Jetzt updaten" je Gerät, mit Erfolgsmeldung und
Erreichbarkeits-Check; ist der Check rot, rollt der Homelab-Teil selbst zurück und meldet es. Host-Updates
mit Warnung, Neustart getrennt; die KI-Box prüft danach, ob der Host wieder läuft.
- **Keine Anmeldung (24.09.):** nur eine unsichtbare Herkunftsprüfung, damit fremde Webseiten keine Knöpfe
auslösen (`backend/services/herkunft.py`).
- **Android-App am Ende (24.09., Phase 5):** Push, Cockpit, Updates freigeben, Lucy per Sprache mit Live-Modus.
- **Die Coding-Oberfläche heißt „OpenChamber" (24.09.).** Die Gemini-/Antigravity-Doku und SAVEPOINT liegen im
Archiv.
- **Merge und Deploy (23./24.09.):** Claude darf selbst mergen und deployen, sobald alle Prüfläufe grün sind.
- **Agent-Runtime: Hermes bleibt (01.07.).** Ein ZeroClaw-Test wurde gebaut und wieder abgerissen; der
Latenz-Gewinn kam vom Hirn, nicht von der Runtime ([Messwerte](../archiv/2026-06-30-zeroclaw-poc-ergebnis.md)).
- **Hermes führt sein Gedächtnis selbst (07.08.).** Es ist die einzige Gedächtnis-Wahrheit; der Box-Wart hat
keinen eigenen Gedächtnis-Dienst.
- **Telegram bleibt der Mobil-Kanal, WhatsApp ist verworfen (09.07.):** Die inoffizielle Bridge bedeutet
Bann-Risiko auf der Privatnummer und einen zusätzlichen Dauerprozess. Neu bewerten nur bei einer offiziellen
Personal-Bot-API.
## Betrieb des Box-Warts
- **Der Wächter behebt Einfaches selbst (23.09.):** Abgestürzte Dienste (`failed`) startet er neu, höchstens 2× je
Stunde. Gestoppte Dienste meldet er nur. Schlafende (abgeschaltet und nicht im Autostart, 24.09.) sind kein Befund.
- **Updates automatisch sonntags 04:30 (23.09.),** seit 24.09. über `mc2-autoupdate.timer` statt Hermes-Cron: Als
Kind des Hermes-Gateways hing der Lauf beim Hermes-Update am eigenen Neustart (20.09.: 180 s, Fehlschlag).
- **Neustart der Box nur im Wartungsfenster So 04:00–06:59 (24.09.).** `MC_AUTOUPDATE_REBOOT_JETZT=1` erzwingt ihn.
- **Nachtruhe für Meldungen (24.09.):** `notify.sh` sammelt 00:00–06:59, um 07:00 kommt eine Morgenmeldung.
Dringendes geht sofort raus.
- **Zweiter Weg zu Telegram (24.09.):** Scheitert `hermes send`, schickt `notify.sh` direkt an die Telegram-Bot-API.
Hermes kann selbst ausfallen, und die Homelab-Instanz hat kein Hermes.
- **Deploy zweistufig mit Prüftor und Rückweg (24.09.):** `deploy/pruefen.sh` ersetzt die CI-Ampel.
- **llama-swap-Config (24.09.):** Die lebende Datei `/etc/llama-swap/config.yaml` ist die Wahrheit. Der Repo-Abzug
überschreibt sie nur, wenn er sich im selben Deploy geändert hat. Geschrieben wird nur unter der Config-Sperre.
- **Box-Diät (24.09.):** Konsole und Spracherkennung schlafen (nicht gelöscht). PC-Fernsteuerung (MCP
`hermes-pc-control`, PC-Aufgabe `HermesPCExecutor`) und MCP `mission-control-stack` sind aus. 10 alte Skills liegen
in `~/.hermes/skills-archiv`. Embedding und Reranker schlafen (ttl 300); warm ist nur das Hirn.
- **Sicherung mit Lucys Gedächtnis (24.09.):** Der Tarball enthält `memories/`, `SOUL.md`, Skills, Cron-Skripte,
Box-Wart-Zustand, Units und Stimmreferenz. `restore.sh` spielt Gedächtnis und Zustand nur zurück, wenn sie fehlen
oder mit `--mit-gedaechtnis`.
- **Endgültig gelöscht wird nur per User-Klick (23.09.):** Modelle im Aufräumen-Panel, Reste auf der Box ebenso.
- **Git (24.09.):** nur `main` plus Archiv-Tags. Ungemergtes, das weg soll, erst als Tag `archiv/<name>` sichern.
- **Approvals bleiben aus (17.09.):** `approvals.mode: 'off'`, `approvals.cron_mode: auto`.
- **Erinnerungen und Wecker laufen im Box-Wart** (`backend/services/reminders.py`), nicht als Hermes-Cron.
- **Hermes-Quellcode nie forken oder patchen; Hermes' interne Prompts bleiben Englisch (03.07.).** Deutsch kommt aus
`SOUL.md`; alles, was der User sieht, ist Deutsch.
- **Tool Search nicht auf `on` (04.07.):** Es spart Cloud-Tokens, kostet lokal Latenz (gemessen 15,1 s statt 5–7 s).
## Modell-Radar (23./24.09.)
- Zwei Rollen: Hirn und Coder. Höchstens drei Modelle; eine dritte Rolle nur bei nachgewiesenem Mehrwert. Der
Debugger entfällt (23.09.).
- Das Radar testet selbst: nachts 00:30–02:30 (um 03:00 braucht NerdQuiz das Hirn), höchstens ein neuer Kandidat
pro Woche, nur was neben das Warm-Set passt. Durchgefallene werden gelöscht; getauscht wird erst per Knopf
„Übernehmen" (23.09.).
- Hirn und Coder müssen Bilder verstehen, auch mitten in Agenten-Aufgaben (23.09.).
- Fairer Vergleich (24.09.): Jeder Kandidat misst mit seiner schnellsten Draft-Variante (ohne, eingebauter
MTP-Kopf, Draft des heutigen Modells); das heutige Modell misst mit seinem Draft.
- Jev (TypeSafe AI) ist nicht relevant (24.09.): nur Cloud-API, liefert nur Wahrscheinlichkeiten, passt in keine Rolle.
## Engine und Modelle (Box, gfx1151)
- **Vulkan/RADV schlägt ROCm** (+12–22 % Generierung, seit 27.06. mehrfach bestätigt). ROCm-Recheck 24.07.: Der
Vulkan-Prefill hält bei 32k noch 488 t/s, kein ROCm-Bau. Wiedervorlage nur bei neuem Langkontext-Support der
Engine oder einem reinen HIP-Modell. **Das Hirn bleibt in jedem Fall auf Vulkan.**
- **hipEngine und strix-halo-toolboxes: beobachten, nicht übernehmen (03.07.).** Übernahme nur nach eigener Messung.
- **Hirn: Qwen3.6-35B-A3B** (MoE, 3B aktiv) mit DFlash-Draft (seit 22.07.), KV q8_0 (07.07.: Qualität vor ein paar
GB), `--parallel 2` = zwei Slots à 65k (Nebenlast blockiert keinen Sprach-Turn), `--reasoning-budget 2048` (17.09.).
- **Dichte Modelle nie als Hirn (17.07.):** bandbreitengebunden, ~12 statt ~100 t/s. Das Radar lässt als Hirn nur
Modelle mit höchstens 12B aktiven Parametern zu.
- **Coder: Qwen3.8-27B mit DFlash2-Draft (04.09.):** 12,6 → 31 t/s. `heavy` ist seit 04.09. derselbe Coder.
- **Varianten der Basismodelle (17.09.):** Hirn und Coder laufen als Varianten (Prüfstand: 100,8 statt 92,8 t/s bzw.
30,4 statt 26,2 t/s). Die Originale bleiben als Rückweg. Nemotron 3.5 Lightning 30B-A3B ist eine gleichwertige
Hirn-Reserve, nicht besetzt.
- **Bild-Zwillinge (24.09.):** Bilder gehen an Zwillinge ohne Draft (`vision`, `coder-bild`), weil llama.cpp Draft
und Bild nicht zusammen kann (HTTP 500, b11057 und b11157 geprüft).
- **`brains` mit `exclusive: false` (24.09.):** Ohne den Schlüssel ist eine llama-swap-Gruppe exklusiv, und jede
Hirn-Anfrage entlud den Coder. Gruppe `bild`: `swap: true` (höchstens ein Zwilling geladen), `exclusive: false`.
- **Eine Gruppe für alles gleichzeitig Warme (25.07.):** Zwei ko-residente Gruppen verdrängen sich. Speicherregel:
Warm-Set plus größtes Bedarfsmodell ≤ ~115 GB (bei 107 GB Warm-Set plus 20 GB folgte ein Kernel-OOM).
- **`frontend/dist` im Git ist Absicht:** Die Box hat kein Node; der Deploy holt `main` per fast-forward.
- **MoA-Preset nicht übernommen (09.07.):** lädt mehrere Modelle parallel, RAM ist der Engpass.
## Lucy (Desktop-App, eigenes Repo)
- **Electron, nicht Tauri:** Klick-Durchlass-Overlay, Capture, Loopback und Tray gibt es nur in Electron.
- **Stimme: pocket-tts `german_24l` bleibt.** Qwen3-TTS-1.7B, Chatterbox und F5 sind verworfen (Latenz, kein
Streaming). Seit 04.09. kommt Lucys Stimme von der Box (`lucy-stimme`, in MC2 unter `/api/lucy/stimme/*`), auch
für die Sprachnachricht der Daily News.
- **Spracherkennung läuft auf der Box** (Parakeet-TDT v3, 0,3–0,8 s), nicht am PC. Der Dienst schläft seit 24.09.
bis zur Android-App.
- **Kein Multi-Agent im Sprachweg** (dreifache Latenz).
- **Smart Turn v3:** Audio links auffüllen; die Ausgabe ist empirisch P(unfertig). Läuft im Sprach-Sidecar (`/turn`).
## Sonstiges
- **LobeChat/WebUI-Ersatz verworfen** (Mehrbenutzer-Design passt nicht; Lehre: Scope challengen).
- **Lokaler GPU-Klon (9070 XT):** wenn, dann llama.cpp-Vulkan + llama-swap, nicht Lemonade. Zweck offen.
- **Aussortiert:** Kyutai-Streaming-STT (nur EN/FR), Unmute-Voll-Stack, openWakeWord (Wake-Gate ist STT-basiert).
## Überholt (mit Datum)
| Seit | Was galt | Was heute gilt |
|---|---|---|
| 24.09. | Sonntags-Update als Hermes-Cron (21.08.) | `mc2-autoupdate.timer`; der Hermes-Cron ist pausiert |
| 24.09. | CI-Ampel in Gitea Actions (22.07.); der Runner war seit 28.08. tot | Prüftor `deploy/pruefen.sh` am PC und im Deploy |
| 24.09. | `vision` = Qwen3-VL-30B-A3B (seit 20.08.), davor GLM-4.6V-Flash | Bild-Zwillinge von Hirn und Coder |
| 24.09. | Regel `persistent: false` für `brains` (25.07., nach dem OOM mit 107 GB Warm-Set) | Warm-Set ist nur das Hirn; `brains` mit `persistent: true` und `exclusive: false` |
| 24.09. | Embedding und Reranker immer warm (für die Gedächtnis-Suche) | schlafen, ttl 300 |
| 24.09. | Hermes-Aufgabenbrett (Kanban) mit Verteiler im Gateway | Werkzeugsatz seit 21.08. aus, Verteiler (`kanban.dispatch_in_gateway`) seit 24.09. aus |
| 24.09. | Werkstatt-Profil, `worker.sh`, Orchestrator- und Konzept-Skills, Agent-Hooks | Profile seit 19.08. archiviert, Dateien am 24.09. aus dem Repo |
| 24.09. | Governor (erst Dienst `:8100`, dann OpenCode-Plugin `mc2-governor.ts`) | am PC seit 22.08. abgeschaltet, Plugin am 24.09. aus dem Repo |
| 24.09. | Gemini über Antigravity als Notfall- und Review-Partner (10.07.) | Doku im Archiv |
| 24.09. | Referenz-Branch des Gedächtnis-Ausbaus | Tag `archiv/referenz-mem0-ausbau` |
| 23.09. | „MC2 lebt" (10.07.): Ideen-Queue → Karte → Klick, Auftragsbuch mit Bagatell-Annahme | Box-Wart; das Auftragsbuch war am 04.09. ausgebaut |
| 23.09. | Pins nur von Hand lösen (`jq` per SSH) | Knopf „Freigeben" (Wächter-Hinweis und Updates-Seite) |
| 04.09. | `heavy` = gpt-oss-120b (03.07.), „nie im heißen Pfad" | `heavy` = Qwen3.8-27B; gpt-oss-120b ohne Rolle |
| 21.08. | Hermes Desktop als Arbeits-Tür (09.07.); davor Zed-Agent mit Box-Modell (04.07.: kein Zed ACP) | OpenChamber am PC |
| 21.08. | Nachtprogramm aus Traum, Chef-Gutachter, Release- und Trend-Radar, Prüfstand-Cron, Restore-Probe, Selbsttest, Briefing | drei Hermes-Jobs (KISS-Umbau), seit 24.09. Timer für Updates und Morgenmeldung |
| 21.08. | natives Fan-out mit `delegation.model: coder` (10.07.) | Werkzeugsatz `delegation` aus |
| 21.08. | `approvals.cron_mode: deny` (Autonomie-Härtung, Juli) | `off`/`auto`, bestätigt 17.09. |
| 21.08. | Box-Host-Sicherung nach PBS (`pbs-backup.timer`) | aus (lief rot); der Tarball ist die Sicherung |
| 21.08. | Zwei-Kritiker-Gate (Coder-Next + GLM) über `fremdblick.sh` | entfallen mit Modell-Konsolidierung (19.08.) und KISS-Umbau |
| 19.08. | Kritiker Devstral Small 2 mit 16k-Deckel (25.07.), Rollen `scout` und `dense-planer` | ein Coder, ein Hirn |
| 19.08. | Coder Qwen3-Coder-Next „final" (24.07.); „Coder ohne DFlash" (22.07.) | Qwen3.8-27B, seit 04.09. mit DFlash2 |
| 07.08. | Gedächtnis-Sidecar Mem0 (`:8765`) samt Memory-MCP und Plugin | Hermes führt sein Gedächtnis selbst; am 27.08. restlos ausgebaut |
| 24.07. | ROCm-Recheck 20.–25.07. als Wiedervorlage | erledigt, Vulkan bleibt |