Run 中断与恢复
wesgine 中 Run 的中断机制、孤儿 Run 处理和可恢复状态。
中断触发方式
| 方式 | 触发者 | 端点 |
|---|---|---|
| 用户主动中断 | 用户 | POST /sessions/{sid}/interrupt |
| CycleDetector HITL 超时 | 引擎 | 自愈失败后自动触发 |
| ErrorStreak HITL 超时 | 引擎 | 伪进展检测后触发 |
| BudgetCheckFn 返回 Exhausted | 外部 | 商业限制 |
| Cell Stop | 生命周期 | 管理操作 |
引擎不因计数器终止
引擎不因轮次/token/时间等 counter 阈值主动终止 Run(INV-TERM-01)。
终止权属于上述五种显式触发方式。
孤儿 Run
Cell Boot 自动执行清理:
MarkInterruptedSessions()— 标记未完成会话ListOrphanedRuns()→MarkRunTerminated()— 终止孤儿 Run
消费方不必在 PostBoot 手动调用(INV-CKPT-04)。
可恢复 Run
孤儿 Run 可标记 status=resumable。
查询:GET /observe/runs?status=resumable
批量操作
| 端点 | 作用 |
|---|---|
POST /sessions/{sid}/interrupt | 中断指定会话的 Run |
POST /sessions/interrupt-all | 中断 Cell 内所有 Run |
POST /sessions/mark-interrupted | 崩溃后批量标记 |
mark-interrupted 和 interrupt-all 需 admin token。