diff --git a/.claude/scripts/hook_fleet_state_inject.sh b/.claude/scripts/hook_fleet_state_inject.sh index c3760dfe..7a6e0d0d 100755 --- a/.claude/scripts/hook_fleet_state_inject.sh +++ b/.claude/scripts/hook_fleet_state_inject.sh @@ -37,6 +37,14 @@ ROLE="" # Solo el orquestador recibe el feed de la flota. Resto: silencio total. [ "$ROLE" != "orchestrator" ] && exit 0 +# Reanclar el rol en cada turno: el modo /orquestador no debe depender solo de +# que su prompt (.claude/commands/orquestador.md) siga en contexto. Este +# recordatorio se reinyecta aunque el watcher este caido o falte el venv (la +# guarda de abajo saldria con exit 0 sin emitir FLEET-STATE). Se emite SOLO para +# role=orchestrator: las sesiones sin goal.json o sin ese rol ya salieron arriba +# con exit 0 y stdout vacio, asi que el path limpio queda intacto. +printf '%s\n' "MODO ORQUESTADOR activo (role=orchestrator)." + PROJECT_DIR="${CLAUDE_PROJECT_DIR:-$HOME/fn_registry}" PY="$PROJECT_DIR/python/.venv/bin/python3" { [ -x "$PY" ] && [ -d "$PROJECT_DIR/python/functions" ]; } || exit 0