#!/usr/bin/env bash # pre_llm_call-Hook (Faden 5, 13.07.2026): verdrahtet Box-Selbstwissen MECHANISCH in # JEDEN Kanban-Worker — egal welches Profil (werkstatt, betrieb, default-als-Worker). # Der Kontext wird ephemer pro Turn an die User-Message angehaengt (agent/turn_context.py), # NUR wenn die Session in einem Kanban-Task-Workspace laeuft. Lucys interaktiver/Voice-Chat # laeuft NICHT dort → sofortiger No-op, kein Persona- oder Latenz-Eingriff. Loest # Fallstrick #1 (Ops/Mess/Verify-Worker flailen, weil sie llama-swap :8080 nicht kennen). # Ausgabe {"context":"..."} = anhaengen; {} = durchlassen (No-op). set -u payload="$(cat -)" # Scope-Gate: NUR echte Kanban-Worker — erkannt an der cwd im Task-Workspace. # ACHTUNG (Bug-Fund Faden 8, 13.07.): Worker tragen als task_id den SESSION-Zeitstempel # (z.B. 20260713_224206_267304), NICHT die Kanban-t_-ID — ein "nur t_"-Check feuerte also # NIE fuer Worker. Der zuverlaessige Signal ist die cwd unter kanban/workspaces/; Lucy/ # Voice/CLI laufen nie dort. cwd=$(printf %s "$payload" | jq -r '.cwd // ""' 2>/dev/null || echo "") case "$cwd" in "$HOME/.hermes/kanban/workspaces/"*) : ;; # Kanban-Worker → Orientierung anhaengen *) printf '{}'; exit 0 ;; # Lucy / Voice / CLI / interaktiv → No-op esac # Zeiger auf den vollen, naechtlich generierten Selbst-Steckbrief (nur wenn er existiert). STECKBRIEF="$HOME/.hermes/state/selbst-steckbrief.md" hint="" [ -f "$STECKBRIEF" ] && hint=" Dein vollstaendiger Selbst-Steckbrief (aktuelle Versionen/Dienste/Modelle/Crons/offene Karten) liegt in $STECKBRIEF — dort nachlesen statt raten." # Stabile Anti-Flail-Orientierung: WER bin ich, WO laufen die Modelle, WAS ist tabu. ctx="$(cat <