背景
Parent: #273
依赖:#261 #262 #274
SubAgent 的核心是调度器。需要把 Todo/Task 视为 DAG,按依赖与预算执行。
目标
实现 Scheduler:支持任务领取、并发执行、依赖阻塞、完成回写。
范围
- TaskGraph 构建
- 从 Session Todo 构建 DAG
- 校验无环
- 支持任务状态:pending/in_progress/blocked/completed/failed/canceled
- 调度策略
- 仅调度依赖满足的任务
- 全局并发上限(max_concurrency)
- 单任务预算(token/step/timeout)
- 支持优先级与公平性(避免 starvation)
- 任务领取与回写
- claim -> in_progress
- worker 结果回写 completed/failed
- 失败任务可标记重试次数与下次重试时间
- 与 WorkerRuntime 对接
非目标
验收标准
- 多任务依赖场景调度正确
- 并发上限与预算生效
- 失败/取消可回写且不污染其他任务
- 调度决策可观测(事件或日志)
测试矩阵
- DAG 校验(含环)
- 依赖阻塞/解锁
- 并发限制
- 失败重试/放弃
- 并发竞争下的状态一致性(revision)
Refs
背景
Parent: #273
依赖:#261 #262 #274
SubAgent 的核心是调度器。需要把 Todo/Task 视为 DAG,按依赖与预算执行。
目标
实现
Scheduler:支持任务领取、并发执行、依赖阻塞、完成回写。范围
非目标
验收标准
测试矩阵
Refs