bytedance/deer-flow

[Stability][BUG-007] Subagent completed task still renders as running

クローズ

#3,118 opened on 2026/05/21

 (0 件のコメント) (0 件のリアクション) (0 人の担当者)Python (9,005 件のフォーク)batch import
help wanted

Repository metrics

Stars
 (67,767 個のスター)
PR merge metrics
 (平均マージ 2d 5h) (30d で 229 merged PRs)

説明

Parent stability dashboard: #3107

This issue tracks BUG-007 from #3107.

Problem

After a long Ultra task completed, the frontend still displayed a subagent task card as running.

Backend state at the same time indicated the run was terminal:

Source: database inspection after the run had ended.

runs.status=success
threads_meta.status=idle

The relevant parent-visible tool result was:

Source: checkpoint/state inspection of parent task tool result.

Error: Tool 'task' failed with TypeError: 'AsyncCallbackManager' object is not iterable. Continue with available context, or choose an alternative tool.

Code evidence

The frontend currently maps only these task result prefixes to terminal states:

Task Succeeded. Result:
Task failed.
Task timed out

The actual result starts with:

Error: Tool 'task' failed ...

So it falls through and remains rendered as in_progress.

Impact

  • A completed conversation looks like it is still doing work.
  • Users may wait unnecessarily.
  • It can make task retries or duplicate subagent work harder to reason about from the UI.

Expected behavior

Any terminal task-tool error should render as failed, not in-progress. Frontend state reconstruction should not depend on only a few exact English text prefixes.

コントリビューターガイド