Commit Graph

568 Commits

Author SHA1 Message Date
Hitonabi 8e4aca9f5c Discover: Katalog auf Juli-2026-Stand + Badge-Alias-Fix
Katalog-Daten (models_catalog.json) waren teil-stale (Stand 27.06.):
- vision: Qwen3-VL-30B-A3B-Instruct ergaenzt (neue Augen, MoE 30B-A3B) — sonst
  empfahl der "Modelle finden"-Tab weiter das aeltere VL-8B (Downgrade).
- scout: gemma-4-26B/31B (laengst entfernt) durch das live genutzte GLM-4.6V-Flash
  ersetzt.
- version 2026-06-27 -> 2026-07-03.
Bewusst NICHT aufgenommen: Qwen3.6-27B dense — im 3-Wege-Bench (tg 12,7 vs 60-91
der MoE-Coder) als Coder-Worker unterlegen, keine Empfehlung.

Badge-Fix (Discover.tsx): installedModel matchte nur das primaere role-Feld; ein
Modell kann eine Kategorie aber ueber einen Alias bedienen (Qwen3.6 = role "hermes"
+ Alias "fast") -> Fast-Karte zeigte faelschlich "Frei". Jetzt Match per Rolle ODER
Alias. Live gegen die Box verifiziert: alle 5 Rollen-Karten "Aktiviert".

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-03 23:46:32 +02:00
Hitonabi 494037dee5 MC2 Final (D16 f): Voice-Metrik-Reste raus + README auf Final-Stand (C15)
f) Lucy/Voice-Reste aus dem MC2-Web-UI entfernt (kein "Sprechen"-Tab mehr):
   VoiceLatencyCard + Sprach-Latenz-Plumbing (queries/api-Typen) und der
   Backend-Leseendpoint /voice/metrics raus. Der Proaktivität-/Alarm-Kanal
   (/voice/announce, /alarm) und die STT/TTS/chat-Proxys bleiben unberührt.
C15) README auf den Final-/Autonomie-Stand aktualisiert (Mem0 statt SQLite-MCP,
   live+eingefroren, Lucy als eigenes Repo, Fangnetz-Updates/Werkstatt).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-03 20:23:24 +02:00
Hitonabi 8a2db70f3c MC2 Final (D16 c+e): System-Logs mit Fehler-Farben/Filter + Auto-Dedupe
c) System-Logs ausgebaut: neue LogConsole-Komponente färbt Fehler (rot) und
   Warnungen (amber) ein, "Nur Probleme"-Filter mit Zähler, Zeilen-Suche;
   voice-service in die Dienst-Liste aufgenommen (war nur backend-seitig).
e) Mem0-Dubletten automatisch: deterministischer Auto-Dedupe-Loop (täglich,
   apply=True, Schwelle 0.9 > manueller 0.85 da ohne Review) als Backend-
   Hintergrund-Task — kein Memory-Bloat mehr ohne Zutun. Knopf bleibt on-demand.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-03 20:12:11 +02:00
Hitonabi 5ee3f8f73d D16d-Fix: volles Warm-Set nachwärmen statt nur das Hirn
Auto-Rewarm (Nudge + Idle-Tick) lädt jetzt das GANZE Warm-Set über
deploy/warmup.sh nach (fast+vision via chat, embed via /v1/embeddings,
Agent-Prompt-Prefill) statt nur einen Brain-Ping. Erkennt TEIL-Kälte
(Mitglied fehlt in /running), nicht nur den komplett leeren Zustand —
genau der Fall nach einem watch-config-Reload/Deploy (Augen+Gedächtnis
fielen raus, Hirn blieb warm). deploy.sh ruft am Ende warmup.sh.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-03 19:57:31 +02:00
Hitonabi ce55752249 Doku (B11d): AGENTS.md — Projekt-Geschmack fuer die Coding-Lane
Zed + Kilo Code lesen AGENTS.md nativ. Destilliert die Projekt-Wahrheiten, die man
sonst schmerzhaft lernt: Deutsch fuer alles User-Sichtbare (Hermes-Prompts bleiben
englisch), frontend/dist wird committet (kein Node-Build auf der Box), Deploy macht
reset --hard origin/main (nie direkt auf main), Box=UTC/MC_LOCAL_TZ=Berlin,
py_compile-Gate, Restart-Allowlist nur in services.maintenance, Hermes nie forken,
Security nie ohne User-Ja, Gitea-Push mit Retry.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-03 19:45:34 +02:00
Hitonabi d0688a7b64 Wartung (B10): Restart-Allowlist vereinheitlichen
Der ServicesCard-"Anzeige- statt Unit-Name"-Bug ist behoben (Frontend nutzt
durchgehend x.unit). Der echte Rest-Fehler lag in der ZWEITEN Restart-Wahrheit:
/api/system/restart (system.py) + das MCP-Tool restart_service hatten eine
veraltete Allowlist ohne llama-swap (Engine) und hermes-terminal, dafuer mit
Geist-Eintrag hermes-webui. Ein Engine-Neustart per Sprache/MCP schlug daher mit
"nicht erlaubt" fehl.

Fix: /api/system/restart delegiert jetzt an services.maintenance.restart_service
(EINE Allowlist-Wahrheit, kennt System- via sudo -n UND User-Dienste, wird auch
von der UI genutzt). MCP-Tool-Docstring auf die echten Dienste korrigiert.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-03 19:45:34 +02:00
Hitonabi 4e5a7eed35 MC2 Final (D16 a/b/d): verständliche Updates + ehrliche Speicher-Zahlen
a) Update-Meldungen: generischer Release-Summarizer in Lucys Stimme mit
   strukturiertem Aktions-Verdikt ("Musst du etwas tun? NEIN/JA") für
   Hermes, Engine (llama.cpp) und llama-swap; Fangnetz-Hinweis verheiratet
   Breaking-Change-Sorge mit dem Postcheck.
b) OS ehrlich: zurückgestellte Pakete (Phasen-Rollout / kept back) werden
   ausgewiesen statt scheinbar zu hängen.
d) Ehrliche Speicher-Zahlen: KV-Cache aus echten GGUF-Architektur-Daten
   (Layer × KV-Köpfe × head_dim) + KV-Quant aus dem cmd statt params-blinder
   Schätzung — footprint_gb als eine Zahlensprache (Zentrale, Modell-Manager,
   fits-Check auf warmset+largest). Auto-Rewarm-Nudge nach Config-Reload.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-03 19:40:59 +02:00
Hitonabi 612ce127fa Autonomie 0d+0g: Lucy-Alarm-Weg, taegliche Selbst-Smokes, Selbstreparatur nach rotem Update
- /api/alarm: Lucy-unabhaengiger Telegram-Weg (fuer den PC-Lucy-Watchdog, wenn die App haengt).
- self-smoke.sh + mc2-selfsmoke.timer (taeglich 07:15): Gateway/Tools/Voice aktiv durchspielen,
  Meldung nur bei Rot. Ergaenzt den passiven Health-Waechter um echte Funktion.
- self-repair.sh + autoupdate.sh: bei rotem Hermes-Update zieht die Box Config-Brueche selbst
  (nur eindeutige, nicht-sicherheitsrelevante Keys; Backup -> YAML-Check -> Gehirn-Check, sonst
  zurueck). Greift es nicht, haengt eine LLM-Diagnose an die Rollback-Meldung.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-03 19:27:31 +02:00
Hitonabi 357285e798 C12: Off-Box-Backup-Spiegel auf den Proxmox-Host (rsync)
backup.sh spiegelt nach dem lokalen Tarball die Backups per rsync aufs
Proxmox (root@192.168.178.108:/var/lib/vz/mc2-backups) -- Retention via
--delete mitgezogen, chmod 600 erhalten, best-effort (Fehlschlag = lokal
gilt trotzdem). restore.sh kennt den Spiegel: --list zeigt Off-Box,
--pull-offsite holt alles zurueck, und fehlt ein Backup lokal, wird es
automatisch vom Proxmox gezogen (Platte-tot-Fall). Nebenbei latenten
Abbruch in list_backups bei leerem Ordner gefixt (set -e + leeres Glob).
Auth: dedizierter, gehaerteter Key ~/.ssh/mc2_offsite. Live E2E verifiziert.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-03 19:26:04 +02:00
Hitonabi b21794a750 Werkstatt haerten (0k): Reviewer muss Fehlerfall nachstellen, Gate prueft Live-Checkout
Zwei Befunde aus der Gesellenpruefung (03.07.):
- Reviewer-Subagent war zu milde -> Skill fordert jetzt: konkreten Fehlerfall
  nachstellen + aktiv nach Versagen suchen, Urteil konkret ausschreiben.
- "Live unberuehrt" war nur curl-geprueft -> Gate verlangt jetzt zusaetzlich
  git status --porcelain -uno == leer im Live-Checkout.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-03 19:04:57 +02:00
Hitonabi 97344f1ad2 Werkstatt: Hermes-Update-Zusammenfassung bricht nicht mehr mitten im Satz ab
_summarize_hermes_commits nutzt jetzt finish_reason: bei "length" (Token-Limit
erreicht) wird der unvollstaendige letzte Stichpunkt entfernt, bei "stop" bleibt
die Antwort unveraendert. max_tokens 380 -> 550 als Puffer.

Erster echter Werkstatt-Kreislauf (Gesellenpruefung), Runde 2 nach Review.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-03 18:55:53 +02:00
Hitonabi a682e3c4e7 Selbstkritik-Feed: Journal-Syntax, doppelte Nullen, Allowlist-blinde Messung
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 15:04:42 +02:00
Hitonabi 8b0e14db7c Selbstkritik-Cron (Faden 11b): der Radar-Zwilling nach innen
- selbstkritik-prompt.md: Auftrag (1-3 belegte Verbesserungen, Lucys Stimme,
  Leitplanken: nur vorschlagen, Hermes-Quellcode tabu, Security nur benennen)
- selbstkritik-feed.sh: Live-Daten (Voice-Latenzen, Token-Stats, Prompt-Größen
  je Lane als Diät-Kontrolle, Journal-Warnmuster, Tool-Loops, Curator, notify-
  Fallbacks); deploy.sh kopiert ihn nach ~/.hermes/scripts

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 15:02:12 +02:00
Hitonabi c8e408cdd8 Prompt-Diät (Faden 7): schlanker Voice-MCP-Server
mcp_voice.py = Sprach-Lane-Teilmenge: reminder_create/list/delete + box_status.
Die api_server-Plattform (Lucy) bekommt per platform_toolsets.api_server nur
diesen statt der vollen mission-control-stack-Control-Plane (26 Tools) —
CLI/Telegram/Werkstatt bleiben unangetastet.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 14:54:13 +02:00
Hitonabi fa8f776910 Freie Hand (A3): Medien-/Lautstärke-Steuerung für den PC
- executor.py: /media (play_pause/next/prev/stop) + /volume (up/down/mute,
  steps 1-25) via pyautogui Media-Keys — wirkt wie Multimedia-Tastatur
- mcp_pc.py: Tools pc_media + pc_volume für Hermes

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 14:29:21 +02:00
Hitonabi 2b124d5b0a Erinnerungen & Routinen (A3): Wecker in MC2 + Hermes-Tools
- services/reminders.py: persistenter Store (/srv/models/mc2-reminders.json),
  Wecker-Loop feuert in Briefkasten (Lucy spricht) + Telegram; repeat
  daily/weekdays/weekly; naive Zeiten = Commander-TZ (Europe/Berlin, Box ist UTC);
  verpasste Einmal-Erinnerungen feuern verspätet nach (ehrlich markiert)
- routers/reminders.py: GET/POST/DELETE /api/reminders
- mcp_mc.py: reminder_create/list/delete (Guards, ISO aus Sofort-Kontext)
- announce.notify_telegram als gemeinsamer Helper (sentry nutzt ihn jetzt)
- requirements: tzdata (zoneinfo-Fallback, Windows-Dev)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 14:02:30 +02:00
Hitonabi 019bd6d18b Lucy-Proaktivität (A3): Melde-Briefkasten + Health-Wächter
- services/announce.py: persistenter Briefkasten (/srv/models/mc2-announce.json),
  POST /api/voice/announce + GET /api/voice/announcements (Cursor-Polling)
- services/sentry.py: Health-Wächter (Engine/Hirn/Hermes/Mem0/Voice/Platte),
  flankenerkannt (Alarm nach 3 Fehl-Ticks, Entwarnung, 6h-Erinnerung),
  meldet in Briefkasten + Telegram; Hirn-Verdrängung durch IDE-Last = kein Alarm
- notify.sh spiegelt jede Telegram-Meldung in den Briefkasten (Updates/Radar
  erreichen damit auch die Desktop-Lucy)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 13:45:07 +02:00
Hitonabi a23f4c0652 Warmup kaut jetzt auch den Hermes-Agenten-Prompt vor (Erster-Call-Fix)
Gemessen 03.07.: erster User-Call nach Modell-Reload 37 s (Prefill des
~70-KB-Hermes-Prompts, 50 KB davon Tool-Schemas), mit warmem Prompt-Cache
~6 s. warmup.sh schickt nach dem Modell-Laden einen Wegwerf-Turn an den
api_server (:8642, wartet auf /health) — der -cram-Cache ist damit gefuellt,
bevor der User zum ersten Mal fragt. Strukturelle Prompt-Diaet = Faden 7.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 09:32:28 +02:00
Hitonabi a024ea1b2f Zentrale: "Lucys Augen"-Check ergaenzt (Vision-Modell im Blick)
Nutzer-Fund: Die Faehigkeiten-Liste zeigte Hirn/Gedaechtnis/Gateway/Agent/
Stimme, aber nicht die Augen — obwohl das Vision-Modell seit heute zum
Immer-bereit-Set gehoert. Neuer Check (nicht kritisch): gruen wenn das
vision-Modell geladen ist, sonst Warnung mit 1-Klick-"Augen aufwecken".

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 09:14:40 +02:00
Hitonabi d2ab662146 Immer-bereit-Set ehrlich gemacht: vision ttl 0, Warmup inkl. vision, Texte
Nutzer-Fund (Screenshots 03.07.): drei UI-Diskrepanzen im Modell-Manager.
1) Augen (VL-8B) hatten ttl 300 + fehlten im Warmup — standen also entgegen
   dem UI-Versprechen NICHT immer bereit. Jetzt ttl 0 (Box live + Snapshot)
   und Warmup-Default "fast vision".
2) Warn-Text beschrieb das alte Verdraengungs-Verhalten (seit persistent-Fix
   falsch) — jetzt: Set bleibt geladen, bei Ueberlauf scheitert das grosse
   Modell. 3) "Reserviert" als Vorsichts-Schaetzung/Obergrenze gekennzeichnet
   (68,8 GB Schaetzer vs. 25 GB real — Schaetzer-Umbau ist eigener Faden).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 09:10:44 +02:00
Hitonabi 50867b2781 Gateway: Deutsch-Direktive fuer IDE-Traffic + web_search-Tool im Web-MCP
1) /v1-Gateway haengt an jede Chat-Anfrage (ausser hermes/Lucy — SOUL.md
   regelt das selbst) eine System-Direktive an: Antworten auf Deutsch,
   Code/Bezeichner unveraendert. Abschaltbar via MC_GATEWAY_LANG_DIRECTIVE="".
2) mcp_web.py: neues Tool web_search (ddgs/DuckDuckGo, kein Key), Ergebnis
   injection-geschuetzt via wrap_untrusted. Damit koennen IDE-Agents (Zed
   via context_servers) und Hermes im Web suchen; Debug-Log geht auf stderr,
   stdout bleibt MCP-sauber (verifiziert).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 08:55:22 +02:00
Hitonabi a2091b4f5f Warmhalte-Fix: llama-swap-Key heißt persistent, nicht persist
Live gefunden (Zed-Start warf Lucys Hirn raus): llama-swap ignoriert
unbekannte Group-Keys stillschweigend — der Verdrängungsschutz der
brains-Gruppe war seit jeher wirkungslos. set_group() schreibt jetzt
beide Keys (persistent für llama-swap, persist für MC2-API/UI),
budget.py rechnet die echte Ko-Residenz (on-demand reserviert das
Warm-Set statt 0), Warn-Texte beschreiben Überlauf statt Verdrängung.
Box-Config live gefixt + verifiziert: Coder und Qwen3.6 gleichzeitig ready.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 08:46:23 +02:00
Hitonabi dd3d66156b Werkstatt-Skill: Box pusht ihre Branches jetzt selbst zu Gitea (scoped Token)
Token mc2-box-werkstatt (write:repository) auf der Box hinterlegt (User-Freigabe 02.07.),
Push verifiziert. Leitplanke bleibt: NIE nach main pushen, Merge+Deploy macht der PC.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 21:32:06 +02:00
Hitonabi 18f36f52ce B9-Merge fertig: api.ts-Typ (unit) + frontend/dist gebaut
tsc bestaetigte exakt die vom Werkstatt-Gate angekuendigte Luecke (4x TS2339 unit)
-> ServicesResp.services um unit ergaenzt, Build gruen.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 21:24:35 +02:00
Hitonabi 02fac7f55f Merge Werkstatt-Fix B9: ServicesCard nutzt systemd-Unit-Namen (Box-KI, Gesellenprüfung)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 21:23:37 +02:00
Hitonabi 9e5392fa4f Meldewege sprechen als Lucy (SOUL.md-Abgleich): Radar-Report, Werkstatt-Vorschlag, Wochenpflege
Radar-Endnachricht + Werkstatt-Telegram in Lucys Stimme an den Commander (Fazit zuerst,
Technik in Alltagssprache); autoupdate-Summary angepasst. Hintergrund: SOUL.md der Box
wurde auf Lucy-Identitaet umgestellt (Review-Session 02.07.).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 21:12:16 +02:00
Hitonabi ff6c1daf6c Werkstatt: ServicesCard-Neustart-Bug fixieren
Das Frontend schickte den Anzeigenamen (z.B. 'Engine (llama-swap)')
an die Restart-API, die aber systemd-Unit-Namen (z.B. 'llama-swap')
erwartet. Backend gibt jetzt ein 'unit'-Feld mit; Frontend nutzt es
für restart(), disabled und key.
2026-07-02 19:00:26 +00:00
Hitonabi 14b5c6d6a0 Radar-Tuning nach Report #1: Inventar-Pflicht (Schritt 1) + hermes --version im Feed
Ground-Truth-Abgleich ergab 4 Fehler mit einer Ursache (Inventar-Blindheit):
nie Updates auf installierte Versionen empfehlen; bei aktiv genutzten Komponenten
(Parakeet=STT deutsch! Silero v5, pocket-tts) erst eigene Nutzung nennen; bereitliegende
Kandidaten (gpt-oss-120b, VL-30B) nicht als Neuentdeckung verkaufen. hipEngine-Fund
des Reports war echt und korrekt eingestuft.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 20:52:50 +02:00
Hitonabi 2c8d4a081e E4-Haertung: /v1/models liefert context_length + Alias-Eintraege (heavy/coder/...)
Radar-Erstlauf-Lehre: Hermes-Subagents fanden keine Kontextlaenge (llama-swap listet
nur kanonische Namen, ohne Metadaten), nahmen 256k an und rissen mit ihren max_tokens
den Server-Kontext. Gateway blendet jetzt Rollen-Aliase als Eintraege ein und liefert
context_length aus der geparsten llama-swap-Config. Delegation per hermes config auf
Verdikt gesetzt (max_concurrent_children 2, max_spawn_depth 1). Radar-Prompt: Fallback
"sequenziell selbst recherchieren, Report muss IMMER kommen".

Erstlauf-Ergebnis: Report wurde an Telegram zugestellt (Last run ok).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 20:49:57 +02:00
Hitonabi ab8d651efc Autonomie E6+DoD6: Werkstatt-Skill (wartung) + RUNBOOK
- deploy/skills/wartung/SKILL.md: Selbstwartungs-Kreislauf (Worktree -> Patch ->
  Reviewer-Subagent -> Gate -> Telegram-Merge-Vorschlag); Leitplanken hart codiert
  (nie main/merge/deploy/Security-Config); deploy.sh installiert nach ~/.hermes/skills/
- Box hat bewusst KEINE Gitea-Push-Rechte (Token = offener User-Entscheid) -> v1 endet
  beim Merge-Vorschlag mit lokalem Branch
- docs/RUNBOOK.md: 1 Seite Mensch-Anleitung (Telegram-Meldungen, Box tot, Pins,
  einmalige sudo-Session, Automatik-Fahrplan)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 20:29:19 +02:00
Hitonabi dd947298d0 Radar-Prompt: 5. Subagent IDE-/Agent-Tools (Tod-/Nachfolger-Meldungen, Roo-Code-Lehre)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 20:24:15 +02:00
Hitonabi 2c95f1c5bc Autonomie E4: Evolution-Radar (Hermes-cron monatlich, Fan-out-Subagents)
- deploy/radar-prompt.md: versionierter Auftrag (delegate_task-Fan-out mit Muell-Filter,
  Verdikt-Liste inline, kurzes deutsches Telegram-Report-Format)
- deploy/radar-feed.sh: speist Auftrag + Live-Inventar (Updates/Modelle/Versionen/Pins)
  in den Cron-Agenten; deploy.sh kopiert ihn nach ~/.hermes/scripts/
- Cron registriert: evolution-radar, 0 9 1 * * (monatlich), --deliver telegram

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 20:19:41 +02:00
Hitonabi cd3c5b5eed Verbinden: Zed als Haupt-Tool (Windows stabil seit 10/2025, Rust-nativ, Agent Panel) — OpenCode raus
User-Anforderung: leichtgewichtig statt VS-Code-Bloat + klickbar. Zed: ~16x weniger RAM,
<10ms Latenz, parallele Agenten, OpenAI-kompatible lokale Endpoints nativ. Meine fruehere
'Windows zweitklassig'-Einschaetzung war veraltet (Radar-Lehre #2 heute).
Finale 3: Zed (Haupt) · Kilo Code (VS-Code-Fallback/Orchestrator) · Claude Code (Sessions).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 20:03:49 +02:00
Hitonabi 2db0ce080f Autonomie E2: Auto-Update-Timer (So 04:30) + Pin-Register + Rollback
- deploy/autoupdate.sh: Router->Engine->Hermes ueber bestehende Pfade; rot = Rollback + Selbst-Pinning (/srv/models/mc2-pins.json) + Telegram; gruen = Meldung "eingespielt X->Y"; Abschluss-Summary je Lauf
- Hermes-Rollback selbst gebaut (Job kann nur rot werden): git reset auf alten Stand + Config aus frischem Backup + Gateway-Neustart + Gehirn-Check
- sudoers-mc2-autonomie: NOPASSWD-Snippet fuer Engine/Router (einmalige sudo-Session); bis dahin wird die Ebene uebersprungen + gemeldet
- Verifiziert auf der Box: Happy-Path (11+2 Commits echt eingespielt), Fake-Fail -> Rollback+Pin+Meldung, Pin-Skip, Unpin -> regulaeres Update

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 20:01:13 +02:00
Hitonabi df8ec46018 Radar (E4): IDE-/Agent-Tool-Kategorie in die Watch-Liste (Roo-Code-Lehre)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 19:53:22 +02:00
Hitonabi a8d6f3f598 Verbinden-Seite: auf 3 Tools kuratiert (Kilo Code, OpenCode, Claude Code)
Roo Code wurde April 2026 eingestellt (Repo archiviert) — Kilo Code ist der aktive
Nachfolger der Roo/Cline-Linie (Orchestrator-Modus, Modell-pro-Modus, JetBrains+CLI).
Cursor/Zed/Continue raus (cloud-first bzw. von Kilo abgedeckt). Kilo-Note enthaelt die
Modus-Zuordnung: Code->coding, Architect/Orchestrator->heavy, Ask/Debug->chat.
Das Evolution-Radar (AUTONOMIE_PLAN E4) ueberwacht die Tool-Kategorie kuenftig selbst.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 19:53:03 +02:00
Hitonabi 2263e298fd Autonomie E1: Meldeweg deploy/notify.sh (hermes send -> Telegram, Fallback Log+wall)
Verifiziert auf der Box: 2 Testnachrichten via Telegram zugestellt (mc2-notify.log OK).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 19:49:26 +02:00
Hitonabi 1adbb19572 Autonomie-Plan: Multi-Agent-Verdikt ergaenzt (Fan-out-Radar + Worker/Reviewer-Werkstatt; nicht bei Voice/IDE; kein Hirn-Tausch)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 19:44:32 +02:00
Hitonabi 41aeb111d7 Kickoff-Paket Kapitel 0: Autonomie-Plan (E1-E6) + Bench-Harnesses ins Repo
- docs/AUTONOMIE_PLAN.md: 3 Saeulen + Werkstatt, Etappen mit Verifikation, Leitplanken,
  Definition-of-Done, Session-Start-Checkliste — naechste Session startet mit 'leg los'
- deploy/bench/{model-bench,brain-bench}.sh: die 02.07.-Benches als versionierte Harnesses
  (Grundlage der Modell-Selbst-Evaluation E5; Quoting-/pipefail-Lehren eingebaut)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 17:20:22 +02:00
Hitonabi d887a6c248 Report: Nachtrag 3 — Lucy-Trennung, Update-Playbook E2E gruen, Radikal-Aufraeumen
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 16:11:43 +02:00
Hitonabi 4eaa11c32a Postcheck: pipefail-Falle im Voice-Smoke (head schliesst Pipe -> curl 23 -> Fehlalarm)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 16:10:21 +02:00
Hitonabi 8c7dd5b30f Postcheck: Voice-Smoke mit 3 Versuchen (Session-Kaltstart nach Gateway-Neustart war Fehlalarm)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 16:07:01 +02:00
Hitonabi 49bf11886e dist: sauberer Rebuild nach Merge
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 15:55:03 +02:00
Hitonabi 996fea224a Merge lucy-v2: Komplett-Review 02.07.2026 (Voice-Speed, Turn-Detection, Update-Playbook, Lucy-Ausgliederung)
Konflikte zugunsten lucy-v2 aufgeloest (Superset; mains UI-Rework war dort dupliziert),
dist wird nach dem Merge frisch gebaut.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 15:54:58 +02:00
Hitonabi 9822af7640 Hermes-Update-Playbook: doctor im Job, Config-Drift-Scan + Tool-/Voice-Smoke im Postcheck, LLM-Release-Notes im Modal
- Update-Job: nach 'hermes update' laeuft 'hermes doctor' (Job rot bei Fehlern)
- hermes-postcheck.sh: Journal-Scan auf Unknown/deprecated/defaulting (Lehre aus v0.18:
  approvals.mode 'auto' wurde still ungueltig -> alle Tools in pending_approval),
  Tool-Smoke (echo via Agent, erkennt pending_approval), Voice-Smoke (/api/voice/chat)
- Update-Modal: die Box fasst anstehende Hermes-Commits selbst zusammen (fast-Modell,
  no-think, gecacht auf neuesten Hash) — Breaking Changes zuerst

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 15:53:37 +02:00
Hitonabi 9e7cc6612f Lucy ausgegliedert: client/lucy-* -> eigenes Repo Hitonabi/lucy (+ alte hermes-voice geloescht)
- lucy-desktop + lucy-tts leben jetzt in F:/Coding Stuff/lucy bzw. git .../Hitonabi/lucy
  (Verzeichnisnamen unveraendert -> alle Pfade/BATs funktionieren weiter)
- lucy-f5 geloescht (Experiment abgeschlossen, Verdikt: Pocket bleibt; Skripte in der Historie)
- hermes-voice geloescht (Vor-Lucy-Python-Client, ersetzt)
- docs/LUCY_TTS_PLAN.md mit umgezogen; .gitignore entschlackt
- MC2 = Box/Stack (Backend, Frontend, Sidecars, Deploy, hermes-pc-Executor)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 15:50:16 +02:00
Hitonabi 4a680b863e Verbinden: IDE-Configs einheitlich auf eine coding-Lane (OpenCode/Zed/Continue zeigten noch alle Modelle)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-02 15:38:23 +02:00
Hitonabi d7de1f47d4 Lucy-Prompt: https://-URLs + curl-Timeout in Terminal-Befehlen erzwingen
Der v0.18-Security-Scan flaggt schemenlose URLs (wttr.in/... = MEDIUM) -> Approval-Umweg;
dazu hing ein wttr.in-curl 31s ohne Timeout. Beides ist Prompt-steuerbar.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 15:32:34 +02:00
Hitonabi 646031e5c0 TTS: Worker-Pool aktivieren (LUCY_WORKERS=4 x 2 Threads beim Spawn) — lief seit je SERIELL
Realtest-Fund (User-Logs): workers=0 -> lange Antworten trudelten seriell nach
(9,9s Audio in 9,7s gen). Mit Pool rechnen Folgesaetze parallel zum Sprechen.
TTFB des ERSTEN Satzes bleibt ~1,6-2,3s (Voll-Generierung + Kollaps-Gate vor Emission) —
Fix dafuer = generate_audio_stream fuer Satz 1 (API vorhanden), braucht Hoer-Tests -> naechste Session.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 15:18:13 +02:00
Hitonabi 195b07deef Hotfix nach Realtest: Turn-Hold konservativ + Smart-Turn-Vorwaermen (3,3s -> 0,16s Kaltstart)
User-Feedback 'sehr langsam' diagnostiziert (voice_metrics): (1) zwei App-Instanzen liefen
parallel (Dev-Instanz vergessen — beendet), (2) Semantik-Hold hielt echte Saetze auf.

- useVAD: warten NUR noch bei sehr sicherem 'unfertig' (P(fertig) < 0.15 statt < 0.5),
  max. eine Warterunde pro Aeusserung, HOLD 1,8s -> 1,2s, Not-Aus localStorage
  lucy_turncheck=0, Entscheidung wird bei lucy_perf=1 geloggt (fuer echtes Nachtunen)
- voice_service: Smart Turn beim Start vorwaermen (Probe-Inferenz auf Stille) — der
  3,3s-Kaltstart traf sonst den ersten gesprochenen Satz; deployt + verifiziert (0,16s)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 15:07:17 +02:00