35 lines
989 B
Markdown
35 lines
989 B
Markdown
# Case: `dispatch-rejects-non-ready-task`
|
|
|
|
## 用例意义
|
|
|
|
验证 `dispatch` 在任务仍被依赖阻塞时会返回稳定的 `invalid_state` 契约,而不是偷偷创建 attempt。
|
|
|
|
## 前置条件
|
|
|
|
- 已存在 run `run_blog_003`
|
|
- 任务 `T2` 依赖 `T1`
|
|
- `T1` 尚未完成
|
|
|
|
## 输入
|
|
|
|
```bash
|
|
orch --db TMPDIR/coord.db --json run init --run run_blog_003 --goal "Validate ready gating"
|
|
orch --db TMPDIR/coord.db --json task add --run run_blog_003 --task T1 --title "Backend"
|
|
orch --db TMPDIR/coord.db --json task add --run run_blog_003 --task T2 --title "Frontend"
|
|
orch --db TMPDIR/coord.db --json dep add --run run_blog_003 --task T2 --depends-on T1
|
|
orch --db TMPDIR/coord.db --json dispatch --run run_blog_003 --task T2
|
|
```
|
|
|
|
## 预期输出
|
|
|
|
- `dispatch` 退出码为 `30`
|
|
- JSON 错误码为 `invalid_state`
|
|
|
|
## 断言结论
|
|
|
|
- 依赖未满足时,`dispatch` 失败得很早,并且不会越过 ready gate
|
|
|
|
## 补充约束
|
|
|
|
- 该错误是调度状态错误,不是 `not_found`
|