Inbox renew Test Plan
Scope
This document covers lease renewal behavior via inbox renew.
Shared conventions live in ../_shared/README.md.
case: renew-extends-active-lease
用例意义
验证租约拥有者可以对活跃 lease 执行续租,并生成续租事件消息。
前置条件
worker-c已成功claim线程THREAD_ID
输入
inbox --db TMPDIR/coord.db --json renew --agent worker-c --thread THREAD_ID --lease-seconds 600
预期输出
- 命令退出码为
0 thread.status保持原状态message.kind == "event"message.summary == "lease renewed"message.payload_json.lease_seconds == 600
断言结论
renew是在原线程上追加续租事件,而不是重新 claim
case: renew-rejects-non-owner
用例意义
验证非租约拥有者不能续租别人的活跃 lease。
前置条件
worker-c已成功claim线程THREAD_ID
输入
inbox --db TMPDIR/coord.db --json renew --agent worker-x --thread THREAD_ID --lease-seconds 600
预期输出
- 退出码为
20 - JSON 错误码为
lease_conflict
断言结论
renew与claim一样受 lease owner 约束
case: renew-rejects-without-active-lease
用例意义
验证线程没有活跃租约时,renew 会明确失败。
前置条件
- 已存在线程
THREAD_ID - 该线程当前没有活跃 lease
输入
inbox --db TMPDIR/coord.db --json renew --agent worker-c --thread THREAD_ID --lease-seconds 600
预期输出
- 退出码为
30 - JSON 错误码为
invalid_state
断言结论
renew依赖已有活跃租约- 没有 lease 属于状态错误,不是 not-found