Staged auto_with_approval rows (stageForApproval, src/services/agent-action-executor.ts ~1147-1175) wait indefinitely, and the badge notification is dedup-keyed to fire once ever per (PR, actionClass).
So a maintainer who misses the single notification has no further prompt, and the staged action sits forever. The accept-time rechecks themselves are solid (src/services/agent-approval-queue.ts ~60-230 — freshness, CI, duplicate re-verified), so this is purely about the queue being unattended silently.
This is a by-design human gate, filed for completeness because "waits forever with no reminder" is the same failure shape as the other absorbing states: the system stops making progress and nothing says so.
Fix
Periodic re-notification for pending rows past an age threshold, plus a staleness sweep that expires or escalates rows whose underlying PR has moved on.
Staged
auto_with_approvalrows (stageForApproval,src/services/agent-action-executor.ts~1147-1175) wait indefinitely, and the badge notification is dedup-keyed to fire once ever per (PR, actionClass).So a maintainer who misses the single notification has no further prompt, and the staged action sits forever. The accept-time rechecks themselves are solid (
src/services/agent-approval-queue.ts~60-230 — freshness, CI, duplicate re-verified), so this is purely about the queue being unattended silently.This is a by-design human gate, filed for completeness because "waits forever with no reminder" is the same failure shape as the other absorbing states: the system stops making progress and nothing says so.
Fix
Periodic re-notification for pending rows past an age threshold, plus a staleness sweep that expires or escalates rows whose underlying PR has moved on.