37 lines
1.1 KiB
Markdown
37 lines
1.1 KiB
Markdown
# Case: `answer-appends-answer-to-active-thread`
|
|
|
|
## 用例意义
|
|
|
|
验证 `answer` 会把 leader 的答复写回当前阻塞尝试的 inbox 线程,并以 `answer` 消息形式供 worker 继续消费。
|
|
|
|
## 前置条件
|
|
|
|
- 运行 `run_blog_002` 中的任务 `T2` 已处于 `blocked`
|
|
- `blocked` 列表中可见 `T2`
|
|
- 已知该阻塞尝试对应线程为 `THREAD_ID`
|
|
|
|
## 输入
|
|
|
|
```bash
|
|
orch --db TMPDIR/coord.db --json answer --run run_blog_002 --task T2 --body "Use stdout for MVP."
|
|
inbox --db TMPDIR/coord.db --json show --thread THREAD_ID
|
|
```
|
|
|
|
## 预期输出
|
|
|
|
- `answer` 退出码为 `0`
|
|
- `answer.data.message.kind == "answer"`
|
|
- `answer.data.task.task_id == "T2"`
|
|
- `show.data.messages` 末尾新增一条 `kind=answer` 的消息
|
|
- 末尾消息 `body == "Use stdout for MVP."`
|
|
|
|
## 断言结论
|
|
|
|
- `answer` 的本质是向活动线程追加 leader 决策消息,而不是直接修改任务状态
|
|
- worker 仍需继续通过 `inbox` 或后续 `reconcile` 推进任务状态
|
|
|
|
## 补充约束
|
|
|
|
- `answer` 支持 `--body-file` 与 `--payload-json`
|
|
- `--body` 与 `--body-file` 互斥;若两者都为空,则至少需要提供 `--payload-json`
|