When nobody answers a prompt within 60 min, executePromptStep() resolves null and the engine just moves to the next step (no log entry, no failed status, no notification). Steps after the prompt run as though the operator had approved them.
The global EXECUTION_MAX_MINUTES deadline is only checked at the top of the loop, so a single wait (up to 24 h) or a prompt (60 min) is never interrupted by it.
Suggested fix
Log prompt_timeout and fail (or route to a configurable onTimeout target); make wait/prompt timers respect the remaining global budget.
## Overview
- When nobody answers a prompt within 60 min, `executePromptStep()` resolves `null` and the engine just moves to the next step (no log entry, no failed status, no notification). Steps after the prompt run as though the operator had approved them.
- The global `EXECUTION_MAX_MINUTES` deadline is only checked at the top of the loop, so a single `wait` (up to 24 h) or a prompt (60 min) is never interrupted by it.
## Suggested fix
Log `prompt_timeout` and fail (or route to a configurable `onTimeout` target); make `wait`/prompt timers respect the remaining global budget.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Overview
executePromptStep()resolvesnulland the engine just moves to the next step (no log entry, no failed status, no notification). Steps after the prompt run as though the operator had approved them.EXECUTION_MAX_MINUTESdeadline is only checked at the top of the loop, so a singlewait(up to 24 h) or a prompt (60 min) is never interrupted by it.Suggested fix
Log
prompt_timeoutand fail (or route to a configurableonTimeouttarget); makewait/prompt timers respect the remaining global budget.