Severity: HIGH · triage: needs-triage · 记录日期: 2026-07-15
(docs-only tracker 存档:docs/issues/030-studio-chat-kills-background-workflow.md,commit eadb203)
现象(2026-07-14 23:22 起,work w_20260714_2317_f24 复现两次)
Studio chat 里的 Claude agent 用 Workflow 工具启动后台多 subagent 编排(run wf_296ee812-c04:6 research + 12 verify + 1 synthesize)。预期:主 turn 结束后后台任务继续跑,完成时以 task-notification 回调。实际:
| 次 |
时间线 |
结局 |
| 1 |
23:22 启动 → 23:32 journal 最后写入 |
下一 turn 收到 status=stopped:"may have been running when the previous Claude Code process exited"。research 完成 5/6,verify 完成 1/12 |
| 2 |
resumeFromRunId 续跑 |
同样死法。journal 终态 48 行(36 started / 12 results):research 6/6,verify 1/12,synthesize 未启动 |
两次都是 turn 结束后不久 agent 进程退出,后台任务随进程死亡;不是 workflow 脚本错误(journal 里已完成 agent 的结果全部正常)。
根因假设(未证实,待 diagnose)
- Studio 的 agent session 生命周期(ws-bridge / killSession / per-message respawn)在轮次之间回收 claude 进程,后台任务被连带杀死。
- 回收前没有 drain:不等待、不迁移、不持久化 harness-tracked background tasks,也不通知任何人。
影响
.claude/rules/e2e-testing.md Hard rule 0 要求 E2E 必须经 Workflow 多纬 subagent 编排——该纪律在 Studio chat 环境里事实不可执行。
- 深度调研/多 agent 任务只能退化为主轮内同步执行(占住整轮)。
Workaround(已实操验证)
从 journal.jsonl 收割已完成 agent 的缓存结果 → 主轮内 run_in_background:false 同步 fan-out 补跑剩余 agent。
Acceptance criteria
Code-area hints
src/server agent session / ws-bridge 生命周期(killSession、per-message spawn 路径)
- 历史参考:chat model-tier switcher 曾用 killSession(alias 切换即杀 session)——同一机制可能就是凶手
Severity: HIGH · triage:
needs-triage· 记录日期: 2026-07-15(docs-only tracker 存档:
docs/issues/030-studio-chat-kills-background-workflow.md,commit eadb203)现象(2026-07-14 23:22 起,work
w_20260714_2317_f24复现两次)Studio chat 里的 Claude agent 用 Workflow 工具启动后台多 subagent 编排(run
wf_296ee812-c04:6 research + 12 verify + 1 synthesize)。预期:主 turn 结束后后台任务继续跑,完成时以 task-notification 回调。实际:status=stopped:"may have been running when the previous Claude Code process exited"。research 完成 5/6,verify 完成 1/12resumeFromRunId续跑两次都是 turn 结束后不久 agent 进程退出,后台任务随进程死亡;不是 workflow 脚本错误(journal 里已完成 agent 的结果全部正常)。
根因假设(未证实,待 diagnose)
影响
.claude/rules/e2e-testing.mdHard rule 0 要求 E2E 必须经 Workflow 多纬 subagent 编排——该纪律在 Studio chat 环境里事实不可执行。Workaround(已实操验证)
从 journal.jsonl 收割已完成 agent 的缓存结果 → 主轮内
run_in_background:false同步 fan-out 补跑剩余 agent。Acceptance criteria
Code-area hints
src/serveragent session / ws-bridge 生命周期(killSession、per-message spawn 路径)