feat(statusline): estado 'preguntando', DoD junto al objetivo y comando pausa

- Nuevo estado de reposo 'preguntando' ( esperando respuesta), distinto de
  pendiente_revision: lo usa el Stop worker cuando la respuesta termina con
  preguntas concretas al usuario en vez de dejar un resultado para revisar.
- DoD corto opcional junto al objetivo: se fija con "dod: <texto>" ("dod: clear"
  lo borra) y se muestra atenuado con 🏁 tras el objetivo. Re-fijar el objetivo
  preserva el DoD existente.
- Comando "pausa" (prompt) marca la fase en en_pausa. Es la alternativa manual a
  Ctrl-C: Claude Code no dispara ningun hook al interrumpir un turno (el Stop
  hook solo corre en finalizacion normal; feature pedido, sin implementar), asi
  que no es posible detectar la interrupcion automaticamente.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-06 15:26:51 +02:00
parent fa2b2e16bc
commit 3ae472d1f3
3 changed files with 62 additions and 24 deletions
+5 -2
View File
@@ -128,6 +128,7 @@ phase_style() {
testeando) printf '🧪|35|testeando' ;;
puliendo) printf '✨|95|puliendo detalles' ;;
pendiente_revision) printf '👀|93|pendiente de revisión' ;;
preguntando) printf '❓|96|esperando respuesta' ;;
bloqueado) printf '⛔|31|bloqueado' ;;
en_pausa) printf '⏸️|90|en pausa' ;;
hecho) printf '✅|32|hecho' ;;
@@ -302,10 +303,12 @@ GOAL_FILE="$HOME/.claude/goals/${SESSION_ID}.json"
if [ -n "$SESSION_ID" ] && [ -f "$GOAL_FILE" ]; then
GOAL=$(jq -r '.goal // ""' "$GOAL_FILE" 2>/dev/null)
PHASE=$(jq -r '.phase // ""' "$GOAL_FILE" 2>/dev/null)
DOD=$(jq -r '.dod // ""' "$GOAL_FILE" 2>/dev/null)
if [ -n "$GOAL" ]; then
GC=$(goal_color "$SESSION_ID")
LEFT_PLAIN="🎯 ${GOAL}"
LEFT="${GC}${LEFT_PLAIN}${RESET}"
LEFT="${GC}🎯 ${GOAL}${RESET}"
# DoD corto junto al objetivo, atenuado (🏁 = cuando esta hecho).
[ -n "$DOD" ] && LEFT="${LEFT} ${DIM}🏁 ${DOD}${RESET}"
LINE0="${LEFT}"