31 lines
998 B
Markdown
31 lines
998 B
Markdown
# case: cancel-persists-reason-and-artifact
|
|
|
|
### 用例意义
|
|
|
|
验证 `cancel` 的原因文本与附件会被完整持久化。
|
|
|
|
### 前置条件
|
|
|
|
- 已存在一个非终态线程 `THREAD_ID`
|
|
- `TMPDIR/cancel.md` 已存在
|
|
|
|
### 输入
|
|
|
|
```bash
|
|
inbox --db TMPDIR/coord.db --json cancel --agent leader --thread THREAD_ID --reason "Task superseded by a larger refactor" --artifact TMPDIR/cancel.md --artifact-kind brief
|
|
inbox --db TMPDIR/coord.db --json show --thread THREAD_ID
|
|
```
|
|
|
|
### 预期输出
|
|
|
|
- `cancel` 成功
|
|
- 取消消息 `summary` 与 `body` 都保留取消原因
|
|
- 取消消息包含 1 个 artifact
|
|
|
|
### 断言结论
|
|
|
|
- `cancel` 既保留人类可读原因,也支持附带上下文材料
|
|
- 当 `--reason` 为空时,取消消息的 `summary` 会回退为 `thread cancelled`,而 `body` 保持空字符串
|
|
- `--artifact-kind` 与 `--artifact-metadata-json` 需要至少一个 `--artifact`,且多值数量必须是 `1` 或与 artifact 数量一致;否则应返回 `invalid_input`
|
|
|