diff --git a/PROJEKT-UEBERBLICK.md b/PROJEKT-UEBERBLICK.md index 9176aa2..527054e 100644 --- a/PROJEKT-UEBERBLICK.md +++ b/PROJEKT-UEBERBLICK.md @@ -67,7 +67,7 @@ Alle Dienste, die im Benutzerkontext laufen sollen, müssen als Windows-Benutzer ## Aktueller Grobstand (siehe nachtplan.md für Details/Beweise) -- **Erledigt & verifiziert:** Charakter-Konsistenz (IPAdapter), text2img, Undress-Pipeline, Masken/Inpaint-Stack, Wan2.2-Video, deutsche Stimme (edge-tts), Studio-GUI, RMBG-Freistellen (Alpha-PNG, A1), Netzwerk-/Sicherheits-Härtung (Firewall, Tailscale direkt, RSC-Tuning, fail2ban). +- **Erledigt & verifiziert:** Charakter-Konsistenz (IPAdapter), text2img, Undress-Pipeline, Masken/Inpaint-Stack, Wan2.2-Video, deutsche Stimme (edge-tts), Studio-GUI, RMBG-Freistellen (Alpha-PNG, A1), Netzwerk-/Sicherheits-Härtung (Firewall, Tailscale direkt, RSC-Tuning, fail2ban), Hook-Bereinigung VM302 (27 tote Mac-Hook-Einträge entfernt, ~8 Min Wartezeit/Session gespart, fehlender `prompt-injection-defender`-Hook nachgetragen — vom Master 2026-07-20 19:10 verifiziert). - **In Arbeit:** Lip-Sync bei Ganzkörper-Videos (Crop→LipSync→Composite-Ansatz), Portal-Integration des Studio-Tabs, Turnaround-Asset-Erzeugung (A2, ControlNet-OpenPose-Unterbau steht). - **Größtes offenes Kern-Deliverable:** Portal `cp.go-ki.eu` — „Veo3-einfach"-Bedienung (ein Prompt-Feld, Anhänge, One-Click), Whitelisting VM302, Tab-Anbindung Barby Studio/GPU-Stack/KI-Chat/Ton & Musik. - **Bekannte Fallen (aus eigenen Fehlern gelernt):** Bär läuft über Starlink, nicht über Tailscale (Anmeldeprotokoll prüfen, nicht raten). Immer erst prüfen, welcher Prozess einen Port besitzt, bevor dessen Config gelesen wird. Nie eine Einzel-Messung als Gesamtstrecke ausgeben. diff --git a/nachtplan-2026-07-20.md b/nachtplan-2026-07-20.md index 4c4303d..d283ef6 100644 --- a/nachtplan-2026-07-20.md +++ b/nachtplan-2026-07-20.md @@ -265,6 +265,30 @@ als Claude-Code-Hook erzwungen: - Verteilt nach Forgejo `barby/claude-config` → `shared-hooks/multiagent-enforce/` *(via API verifiziert: Commit `d8345b3`, Datei-Inhalt 1:1 abgeglichen)* - **Offen:** Live-Beweis dass Modell den injizierten Kontext wirklich sieht — nächster normaler (nicht verschachtelter) Session-Start prüfen. +## 🪝 HOOK-BEFUND VM302 (2026-07-20 19:10, vom Master gemessen & verifiziert) +**27 tote Hook-Einträge in `settings.json` kosteten massiv Zeit.** Alle zeigten auf Mac-Pfade (`/Users/m1/...`, `/Users/matthiaskoerner/...`), die es auf VM302 nicht gibt. Gemessen mit dem Interpreter, den Claude Code tatsächlich nutzt (**Cygwin-Bash 5.3.15**, NICHT das WSL-`bash.exe` aus dem PowerShell-PATH). + +| Ereignis | tote Hooks | Kosten | +|---|---|---| +| **PreToolUse** | **12** | **8,2 s bei JEDEM Werkzeugaufruf** | +| UserPromptSubmit | 8 | 5,4 s pro Nachricht | +| SessionStart | 2 | 1,4 s | +| PostToolUse / Stop | je 2 | je 1,4 s | +| PreCompact | 1 | 0,7 s | + +Pro fehlschlagendem Aufruf 680 ms (bash-Start auf Windows ist teuer). Bei ~60 Werkzeugaufrufen einer Sitzung über **8 Minuten reine Wartezeit**. **Der Exit-Code war 0** — deshalb ist es nie aufgefallen. + +**Warum der naheliegende Fix falsch gewesen wäre:** 19 der 27 Skripte stehen mit demselben Namen auch in `settings.local.json`. Hätte man die Pfade auf Windows umgeschrieben, wären sie **doppelt** gelaufen. + +**Durchgeführt (vom Master, verifiziert):** +1. Die 27 Mac-Einträge aus `settings.json` ausgetragen (7 gültige bleiben). Sicherung `settings.json.bak-macpfade-20260720-190946`. JSON gegengeprüft, 0 Mac-Pfade übrig. +2. Sicher, weil `settings.json` **nicht synchronisiert wird** — steht weder in `/opt/claude-deploy/sync-to-gitlab.sh` noch im Forgejo-Repo `barby/claude-config`. Der Mac-Master liegt separat unter `/srv/barby-shared/memory/infra/mac-host/claude/settings.json` und bleibt unberührt. +3. **Sicherheitslücke geschlossen:** Unter den toten Einträgen war `prompt-injection-defender` — ein PostToolUse-Hook gegen Prompt-Injection, für den `settings.local.json` **kein Gegenstück** hatte. Skript lokal vorhanden (`hooks-v2\prompt-injection-defender\post-tool-defender.py`). Getestet: harmlose Ausgabe → still; Injection-Versuch → erkennt „Instruction Override" und „DAN-Jailbreak" und warnt korrekt; 581 ms; läuft mit `python -s`, also für jeden Benutzer. In `settings.local.json` als PostToolUse eingetragen (Sicherung `settings.local.json.bak-defender-20260720-191103`). + +**Merksatz für die Doku:** `bash` löst in PowerShell nach `C:\WINDOWS\system32\bash.exe` (WSL ohne Distribution) auf, Claude Code nutzt aber Cygwin/Git-Bash. Wer Hook-Kosten in PowerShell misst, misst das Falsche. + +**Offen für Bär (Entscheidung, keine Reparatur):** 11 der ausgetragenen Hooks gab es nur auf dem Mac (u.a. `sessionstart-hub-live.sh`, `discipline-hub-redirect.sh`, `persona-pulse.sh`, `obsidian-session-sync.sh`). Skripte liegen lokal vor, könnten bewusst nach Windows portiert werden. + ## 🔑 QUICK-REF - VM302/gpu1/pm1/Virginia root: `ymALqp!?` · **KASM `matthias` / `ymALqp1!?`** (mit 1! KASM erzwingt Ziffer) - LiteLLM: `sk-vm302-Xy3GREx0iFEttNqGvZUIBbkybF2Y1Vf8` · pyautogui: `sk-pyautogui-vm302-e7f9a3b1c4d8e5f2a9b6c1d4e7f0a3b6` @@ -288,5 +312,7 @@ als Claude-Code-Hook erzwungen: **Nächster Schritt (RMBG/A1 erledigt): Lip-Sync-Fix (Crop→LipSync→Composite) ODER A2 Turnaround-Erzeugung (Posen-Skelette + IPAdapter-Konsistenz) — beide offen, siehe „IN ARBEIT" bzw. A2.** +**2026-07-20 v7.2 (~19:10)** — Hook-Befund vom Master ergänzt: 27 tote Mac-Hook-Einträge in `settings.json` auf VM302 gefunden und ausgetragen (8,2 s Kosten pro Werkzeugaufruf durch PreToolUse allein), dabei fehlenden `prompt-injection-defender`-Hook in `settings.local.json` nachgetragen und getestet. Offen für Bär: 11 Mac-only-Hooks ggf. bewusst nach Windows portieren. + ## 📝 KONSOLIDIERUNG (Dokumentar-Agent, 2026-07-20) -Redundanz zwischen „IN ARBEIT: RMBG-Freistellen" und „A1 ERLEDIGT" aufgelöst (A1 ist die aktuelle Wahrheit, IN-ARBEIT-Zeile durchgestrichen/verwiesen). Veraltete „Nächster Schritt"-Zeile am Dateiende (verwies noch auf die bereits erledigte RMBG-Demo) auf die tatsächlich offenen Punkte korrigiert. Struktur und alle Inhalte sonst unverändert — nichts inhaltlich gestrichen, nur Status synchronisiert. Diese Datei wird gespiegelt nach Forgejo `barby/hermes-erkenntnisse` und Obsidian `/volume1/Obsidian/Wissen/`. +Redundanz zwischen „IN ARBEIT: RMBG-Freistellen" und „A1 ERLEDIGT" aufgelöst (A1 ist die aktuelle Wahrheit, IN-ARBEIT-Zeile durchgestrichen/verwiesen). Veraltete „Nächster Schritt"-Zeile am Dateiende (verwies noch auf die bereits erledigte RMBG-Demo) auf die tatsächlich offenen Punkte korrigiert. Hook-Befund des Masters (19:10) als eigener Block unter Multi-Agenten-Hook ergänzt. Struktur und alle Inhalte sonst unverändert — nichts inhaltlich gestrichen, nur Status synchronisiert. Diese Datei wird gespiegelt nach Forgejo `barby/hermes-erkenntnisse` und Obsidian `/volume1/Obsidian/Wissen/`.