Author orch Markdown test plan
This commit is contained in:
@@ -1,7 +1,9 @@
|
||||
# Orch `task add` 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 |
|
||||
| --- | --- | --- |
|
||||
| `task-add-creates-ready-root-task` | [task-add-creates-ready-root-task.md](./task-add-creates-ready-root-task.md) | creates a dependency-free task that becomes ready immediately |
|
||||
| `task-add-rejects-invalid-acceptance-json` | [task-add-rejects-invalid-acceptance-json.md](./task-add-rejects-invalid-acceptance-json.md) | rejects malformed `--acceptance-json` with `invalid_input` |
|
||||
| `task-add-rejects-invalid-priority` | [task-add-rejects-invalid-priority.md](./task-add-rejects-invalid-priority.md) | rejects priorities outside `low|normal|high` |
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
# Case: `task-add-creates-ready-root-task`
|
||||
|
||||
## 用例意义
|
||||
|
||||
验证 `task add` 为无依赖任务创建记录时,会在同一事务里把任务推进为 `ready`。
|
||||
|
||||
## 前置条件
|
||||
|
||||
- 已存在 run `run_blog_001`
|
||||
|
||||
## 输入
|
||||
|
||||
```bash
|
||||
orch --db TMPDIR/coord.db --json run init --run run_blog_001 --goal "Build blog MVP"
|
||||
orch --db TMPDIR/coord.db --json task add --run run_blog_001 --task T1 --title "Implement retry policy" --summary "Add retry policy to HTTP client" --default-to worker-a
|
||||
```
|
||||
|
||||
## 预期输出
|
||||
|
||||
- `task add` 退出码为 `0`
|
||||
- `data.task.task_id == "T1"`
|
||||
- `data.task.title == "Implement retry policy"`
|
||||
- `data.task.status == "ready"`
|
||||
- `data.task.default_to == "worker-a"`
|
||||
- `data.task.priority == "normal"`
|
||||
|
||||
## 断言结论
|
||||
|
||||
- `task add` 不只是插入 `planned` 任务;对无依赖任务会立即刷新为 `ready`
|
||||
- 默认优先级会稳定回退到 `normal`
|
||||
|
||||
## 补充约束
|
||||
|
||||
- `--run`、`--task`、`--title` 是必填
|
||||
- 未显式传 `--acceptance-json` 时,会回退为合法 JSON 默认值,而不是空字符串
|
||||
- 同一 run 下重复的 `task_id` 应返回 `invalid_state`
|
||||
@@ -0,0 +1,27 @@
|
||||
# Case: `task-add-rejects-invalid-acceptance-json`
|
||||
|
||||
## 用例意义
|
||||
|
||||
验证 `task add` 会拒绝格式非法的 `--acceptance-json`,并返回稳定的 `invalid_input` 错误契约。
|
||||
|
||||
## 前置条件
|
||||
|
||||
- 已存在 run `run_blog_003`
|
||||
|
||||
## 输入
|
||||
|
||||
```bash
|
||||
orch --db TMPDIR/coord.db --json run init --run run_blog_003 --goal "Validate task add input guards"
|
||||
orch --db TMPDIR/coord.db --json task add --run run_blog_003 --task T1 --title "Implement retry policy" --acceptance-json '{"done":true'
|
||||
```
|
||||
|
||||
## 预期输出
|
||||
|
||||
- `task add` 退出码为 `30`
|
||||
- JSON 错误码为 `invalid_input`
|
||||
- 错误消息指出 `acceptance-json` 必须是合法 JSON
|
||||
|
||||
## 断言结论
|
||||
|
||||
- `task add` 不会把格式错误的 acceptance 条件静默写入数据库
|
||||
- `--acceptance-json` 的校验属于稳定的 CLI 输入契约,而不是存储层偶然失败
|
||||
@@ -0,0 +1,27 @@
|
||||
# Case: `task-add-rejects-invalid-priority`
|
||||
|
||||
## 用例意义
|
||||
|
||||
验证 `task add` 只接受 `low|normal|high` 三种优先级值,并在其他输入下返回稳定错误。
|
||||
|
||||
## 前置条件
|
||||
|
||||
- 已存在 run `run_blog_004`
|
||||
|
||||
## 输入
|
||||
|
||||
```bash
|
||||
orch --db TMPDIR/coord.db --json run init --run run_blog_004 --goal "Validate task priority input"
|
||||
orch --db TMPDIR/coord.db --json task add --run run_blog_004 --task T1 --title "Implement retry policy" --priority urgent
|
||||
```
|
||||
|
||||
## 预期输出
|
||||
|
||||
- `task add` 退出码为 `30`
|
||||
- JSON 错误码为 `invalid_input`
|
||||
- 错误消息指出 `priority` 必须是 `low`、`normal` 或 `high`
|
||||
|
||||
## 断言结论
|
||||
|
||||
- `task add` 的优先级枚举是明确而稳定的 CLI 契约
|
||||
- 非法优先级会在任务写入前被拒绝,而不是退回到默认值或被静默接受
|
||||
Reference in New Issue
Block a user