From 80a8c1dcffb877cb31681a35d03c36500149e5b8 Mon Sep 17 00:00:00 2001 From: JackChen Date: Thu, 2 Apr 2026 23:43:49 +0800 Subject: [PATCH] fix: blocked tasks never unblocked when dependencies complete isTaskReady() rejects non-pending tasks on its first line, but unblockDependents() passed blocked tasks directly to it. This meant dependent tasks stayed blocked forever after their dependencies completed, breaking any workflow with task dependencies. Fix: pass a pending-status copy so isTaskReady only checks the dependency condition. --- src/task/queue.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/task/queue.ts b/src/task/queue.ts index 60149ff..8888c09 100644 --- a/src/task/queue.ts +++ b/src/task/queue.ts @@ -356,7 +356,7 @@ export class TaskQueue { // Re-check against the current state of the whole task set. // Pass the pre-built map to avoid rebuilding it for every candidate task. - if (isTaskReady(task, allTasks, taskById)) { + if (isTaskReady({ ...task, status: 'pending' }, allTasks, taskById)) { const unblocked: Task = { ...task, status: 'pending',