From 8bb9ac1328fc4f6b8d8e7aae0d6ea706e502c245 Mon Sep 17 00:00:00 2001 From: Peter Stone Date: Thu, 26 Mar 2026 08:22:52 +0000 Subject: fix: next-task fallback should not exclude previously-executed tasks MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The `id NOT IN (SELECT task_id FROM executions)` guard prevented retried tasks (FAILED→PENDING) from ever being picked up by start-next-task. Only the rejection_comment check is needed to avoid re-running rejected tasks. Co-Authored-By: Claude Sonnet 4.6 --- scripts/next-task | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'scripts') diff --git a/scripts/next-task b/scripts/next-task index c36fc23..697de11 100755 --- a/scripts/next-task +++ b/scripts/next-task @@ -32,9 +32,8 @@ fi if [ -z "$next_task" ]; then # 4. No child/sibling found: fall back to highest-priority oldest PENDING task - # Exclude tasks that have a rejection comment or have already been executed - # to avoid auto-approving rejected tasks. - FALLBACK_SQL="SELECT id FROM tasks WHERE (state = 'PENDING' AND (rejection_comment IS NULL OR rejection_comment = '') AND id NOT IN (SELECT task_id FROM executions)) OR state = 'QUEUED' + # Exclude tasks with a rejection comment to avoid auto-approving rejected tasks. + FALLBACK_SQL="SELECT id FROM tasks WHERE (state = 'PENDING' AND (rejection_comment IS NULL OR rejection_comment = '')) OR state = 'QUEUED' ORDER BY CASE priority WHEN 'critical' THEN 4 -- cgit v1.2.3