- 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>
147 lines
12 KiB
Markdown
147 lines
12 KiB
Markdown
# 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 |
|