35 lines
1.0 KiB
Markdown
35 lines
1.0 KiB
Markdown
# Case: `fail-persists-failure-body-and-artifact`
|
|
|
|
## 用例意义
|
|
|
|
验证 `fail` 能持久化失败说明与附件。
|
|
|
|
## 前置条件
|
|
|
|
- `worker-b` 已成功 `claim` 线程 `THREAD_ID`
|
|
- `TMPDIR/failure.md` 已存在
|
|
|
|
## 输入
|
|
|
|
```bash
|
|
inbox --db TMPDIR/coord.db --json fail --agent worker-b --thread THREAD_ID --summary "Migration failed" --body-file TMPDIR/failure.md --artifact TMPDIR/failure.md --artifact-kind report
|
|
inbox --db TMPDIR/coord.db --json show --thread THREAD_ID
|
|
```
|
|
|
|
## 预期输出
|
|
|
|
- `fail` 成功
|
|
- 最终结果消息 `body` 等于文件内容
|
|
- 结果消息包含 1 个 `report` artifact
|
|
|
|
## 断言结论
|
|
|
|
- 失败终态同样要能完整交付排障材料
|
|
|
|
## 补充约束
|
|
|
|
- `--payload-json` 需要是合法 JSON;空值会按 `{}` 处理
|
|
- `--body` 与 `--body-file` 互斥;不可读的 `--body-file` 属于 `invalid_input`
|
|
- `artifact-kind` 和 `artifact-metadata-json` 不能脱离 `--artifact` 单独使用,且多值数量必须满足“一次全量应用”或“逐 artifact 对齐”
|
|
|