长任务不要用固定超时判定

**用固定 `RUN_TIMEOUT_MS`(如 10 分钟)来判定一个 agent turn 是否结束,会误杀长任务。长任务本来就可能超过 10 分钟,所以判据不能是「时长」,而应该是「真实事件 / 真实状态」。**

正确判据

  • 优先等结构化事件:turn/completed、turn/interrupted、app-server 关闭等。
  • 在等不到明确事件时,才退回「空闲时长」启发式(如终端画面/流稳定若干秒),并把它当作兜底而非主判据。
  • 状态上区分「仍在运行」和「已停止」:超时不应该直接「停止并丢弃」,而应表达为「仍在运行」。

相关