Inbox update Test Plan
Scope
This document covers progress and blocked transitions via inbox update.
Shared conventions live in ../_shared/README.md.
case: update-moves-thread-to-in-progress
用例意义
验证租约拥有者可以把线程推进到 in_progress,并生成进度消息。
前置条件
worker-a已成功claim线程THREAD_ID
输入
inbox --db TMPDIR/coord.db --json update --agent worker-a --thread THREAD_ID --status in_progress --summary "Implementation started" --body "Scanning current HTTP client usage."
预期输出
- 命令退出码为
0 thread.status == "in_progress"message.kind == "progress"message.to_agent指向线程创建者
断言结论
update会把状态推进和消息追加合并为同一次事务
case: update-moves-thread-to-blocked-with-payload
用例意义
验证 update --status blocked 会写入阻塞问题消息,并保留结构化 payload。
前置条件
worker-a已成功claim线程THREAD_ID
输入
inbox --db TMPDIR/coord.db --json update --agent worker-a --thread THREAD_ID --status blocked --summary "Need timeout decision" --payload-json '{"question":"Should retries apply to read timeouts?"}'
预期输出
- 命令退出码为
0 thread.status == "blocked"message.kind == "question"message.payload_json.question保存提问内容
断言结论
blocked更新会生成面向创建者的问题消息
case: update-accepts-body-file-and-artifact
用例意义
验证 update 支持通过 body-file 与 artifact 发送结构化进度材料。
前置条件
worker-a已成功claim线程THREAD_IDTMPDIR/progress.md已存在
输入
inbox --db TMPDIR/coord.db --json update --agent worker-a --thread THREAD_ID --status in_progress --summary "Implementation started" --body-file TMPDIR/progress.md --artifact TMPDIR/progress.md --artifact-kind note
inbox --db TMPDIR/coord.db --json show --thread THREAD_ID
预期输出
update成功- 对应消息
body等于文件内容 - 对应消息包含 1 个 artifact,kind 为
note
断言结论
update的正文与 artifact 支持与send/reply/done/fail保持一致
case: update-rejects-invalid-payload-json
用例意义
验证 update 对非法 --payload-json 输入返回稳定错误契约。
前置条件
worker-a已成功claim线程THREAD_ID
输入
inbox --db TMPDIR/coord.db --json update --agent worker-a --thread THREAD_ID --status blocked --summary "Need timeout decision" --payload-json not-json
预期输出
- 退出码为
30 - JSON 错误码为
invalid_input
断言结论
- 阻塞问题的 payload 需要满足合法 JSON 约束
case: update-rejects-non-owner
用例意义
验证非租约拥有者不能更新线程状态。
前置条件
worker-a已成功claim线程THREAD_ID
输入
inbox --db TMPDIR/coord.db --json update --agent worker-b --thread THREAD_ID --status in_progress --summary "Implementation started"
预期输出
- 退出码为
20 - JSON 错误码为
lease_conflict
断言结论
update明确依赖活跃 lease 所属者