fix(skills): evidence-based prompt delivery (send_keys_safe) to end prompt-lock (FW-W2)
- Add send_keys_safe + quiescence/dialog-detection helpers to lib.sh: keys are sent on pane evidence, never fixed timers; distinct exit codes 1-4; dialogs are never blindly Enter-ed - inject_instructions delegates to send_keys_safe; create --submit-job publishes a terminal error event on delivery failure (no zombie jobs) - wait_for_tui_ready: drop dialog-ambiguous tokens, treat open dialogs as not-ready, return 1 on timeout instead of proceeding - delegate-job wrapper: replace copy-pasted raw paste/C-m block with lib.sh send_keys_safe (restores single source of truth) - resume: conditional signature-gated dialog handling replaces blind Enter/Down/Enter; stop --graceful delivers exitkey safely, fallback chain unchanged - create SKILL: passive capture-pane probe instead of stray Enter - Mark FW-W2 resolved; add 3-agent analysis/plan reports
This commit is contained in:
@@ -196,7 +196,10 @@ cleanup_tmux_on_error() {
|
||||
trap cleanup_tmux_on_error EXIT
|
||||
|
||||
# TUI 준비 대기
|
||||
wait_for_tui_ready "$SESSION_NAME" "$AGENT"
|
||||
if ! wait_for_tui_ready "$SESSION_NAME" "$AGENT"; then
|
||||
echo "ERROR: agent TUI never became ready — aborting (rollback via trap)" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# pane 메타 캡처
|
||||
PANE_PID=$(_tmux list-panes -t "$SESSION_NAME" -F '#{pane_pid}' 2>/dev/null || echo "")
|
||||
@@ -381,7 +384,10 @@ On failure run: $pub --event error --detail '<one-line reason>'.
|
||||
Task: $SUBMIT_JOB_PROMPT"
|
||||
|
||||
# Inject instructions into the tmux pane
|
||||
inject_instructions "$SESSION_NAME" "$instructions" "$DELEGATE_JOB_ID"
|
||||
if ! inject_instructions "$SESSION_NAME" "$instructions" "$DELEGATE_JOB_ID"; then
|
||||
delegate_publish_event "$DELEGATE_JOB_ID" error "instruction injection failed (prompt-lock, rc=$?)"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
delegate_publish_event "$DELEGATE_JOB_ID" started "multi-agent-mux session created and instructions injected"
|
||||
WD_PID=$(start_watchdog "$DELEGATE_JOB_ID" "$WORKSPACE")
|
||||
|
||||
Reference in New Issue
Block a user