diff --git a/scripts/kb-agent-loop.sh b/scripts/kb-agent-loop.sh index bb5f033..f1f7ed8 100755 --- a/scripts/kb-agent-loop.sh +++ b/scripts/kb-agent-loop.sh @@ -86,10 +86,12 @@ EOF ) log "calling claude -p (Opus)..." -# --permission-mode acceptEdits — Claude Code сам применяет Edit без спроса -# Bash-команды всё равно будут просить или быть ограниченными policy -if ! claude -p --permission-mode acceptEdits "$PROMPT" >> "$LOG" 2>&1; then - log "claude exit non-zero" +# --permission-mode acceptEdits — Claude Code сам применяет Edit без спроса. +# Timeout 30 мин: если Opus зациклится / утечёт в Max-лимит — жёсткий kill. +# --model sonnet если хочется дешевле (но качество правок ниже). +if ! timeout 1800 claude -p --permission-mode acceptEdits "$PROMPT" >> "$LOG" 2>&1; then + rc=$? + log "claude exit rc=$rc (124 = timeout)" fi # ──────────────── measure ────────────────