You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit ac10d11
Browse filesBrowse the repository at this point in the historyBrowse files
fix(server): held queued wakes no longer keep delegated tasks running
A child thread's queued runs that Stop, a restart, or a provider failure held
for the user were still counted as active work. Delegated task finalization,
startup subagent-result recovery, and task_status hasPendingChildRuns all
treated the child as busy, so the parent's task row stayed "running" with no
result.
Held queued runs now wait for the user instead of counting as owed work, in
delegatedTaskProgress, the recovery predicate (TS and SQL), and
hasPendingChildRuns. handleTerminalRun also makes the queue decision before
finalizing the child's task, so a provider failure holds the queue first and
the failed run becomes the result; a queue failure is logged and no longer
skips finalization.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
"Needs an agent running inside a T3 thread. Read a T3-owned delegated task created by this parent thread. childRunId identifies the original delegated run. workState distinguishes working, waiting_for_children, and result_available; a completed turn with live nested work is not a completed task. summary is the final task result, including provider errors on failure, and remains stable after publication. hasPendingChildRuns reports later queued or executing turns in the backing child thread, even after the task is terminal; it does not reopen the task, and task_cancel stops those turns too. latestTerminal* provides later non-monitor turn results. Reading a terminal result acknowledges its automatic parent delivery.",
79
+
"Needs an agent running inside a T3 thread. Read a T3-owned delegated task created by this parent thread. childRunId identifies the original delegated run. workState distinguishes working, waiting_for_children, and result_available; a completed turn with live nested work is not a completed task. summary is the final task result, including provider errors on failure, and remains stable after publication. hasPendingChildRuns reports later queued or executing turns in the backing child thread, even after the task is terminal; it does not reopen the task, and task_cancel stops those turns too. Turns held in a stopped queue wait for the user and do not count. latestTerminal* provides later non-monitor turn results. Reading a terminal result acknowledges its automatic parent delivery.",
0 commit comments