From 16ff7ca46bfb4af44af488fa95bd3f8e981f4db2 Mon Sep 17 00:00:00 2001 From: Peter Stone Date: Mon, 16 Mar 2026 04:24:15 +0000 Subject: feat: improve next-task selection and rejection UX - next-task script: exclude rejected tasks from fallback selection; only pick PENDING tasks with no rejection comment and no prior executions, or QUEUED tasks (e.g. BUDGET_EXCEEDED retries) - web/app.js: prompt for optional rejection comment when rejecting a task, passing it through to the API instead of always sending an empty string Co-Authored-By: Claude Sonnet 4.6 --- scripts/next-task | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'scripts/next-task') diff --git a/scripts/next-task b/scripts/next-task index 9df09f0..c36fc23 100755 --- a/scripts/next-task +++ b/scripts/next-task @@ -32,7 +32,9 @@ fi if [ -z "$next_task" ]; then # 4. No child/sibling found: fall back to highest-priority oldest PENDING task - FALLBACK_SQL="SELECT id FROM tasks WHERE state IN ('PENDING', 'QUEUED') AND id != '$id' + # 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' ORDER BY CASE priority WHEN 'critical' THEN 4 -- cgit v1.2.3