Author orch Markdown test plan

This commit is contained in:
2026-03-19 16:27:28 +08:00
parent b448d98e71
commit a20bec1cac
68 changed files with 2225 additions and 160 deletions
+4 -4
View File
@@ -1,7 +1,7 @@
# Orch `blocked` Test Plan Index
## Status
## Case Files
No command case files are authored yet.
Use [../ROADMAP.md](../ROADMAP.md) for planned case slugs and document progress.
| Case Slug | File | Coverage Note |
| --- | --- | --- |
| `blocked-lists-latest-question-for-blocked-task` | [blocked-lists-latest-question-for-blocked-task.md](./blocked-lists-latest-question-for-blocked-task.md) | lists blocked tasks together with the latest worker question payload |
@@ -0,0 +1,38 @@
# Case: `blocked-lists-latest-question-for-blocked-task`
## 用例意义
验证 `blocked` 会列出当前阻塞任务,并附带最新问题消息,便于 leader 直接做决策。
## 前置条件
- 已创建运行 `run_blog_002`
- 已创建任务 `T1``T2`,且 `T2` 依赖 `T1`
- `T1` 已完成并经 `reconcile` 推进,使 `T2` 变为 `ready`
- `T2` 已完成 `dispatch`
- `worker-b``claim` `T2` 对应线程,并通过 `inbox update --status blocked` 写入问题
- 最近一次 `reconcile` 已执行
## 输入
```bash
orch --db TMPDIR/coord.db --json blocked --run run_blog_002
```
## 预期输出
- 退出码为 `0`
- `blocked.data.blocked` 长度为 `1`
- 唯一条目的 `task.task_id == "T2"`
- `question.kind == "question"`
- `question.summary == "Need logging decision"`
- `question.payload_json.question == "stdout or stderr?"`
## 断言结论
- `blocked` 返回的不只是任务状态,还会附带 leader 真正需要回答的问题消息
- 该命令适合作为 leader 的“待答复队列”入口,而不是只做状态列表展示
## 补充约束
- 若没有阻塞任务,非 JSON 输出会打印 `no blocked tasks`