From cd47d0c959d8614c2266793152e3f624c4c7c805 Mon Sep 17 00:00:00 2001 From: QiuSW <105186638@qq.com> Date: Tue, 4 Aug 2026 22:34:46 +0800 Subject: [PATCH] docs(tasks): complete T-302 atomic claim --- docs/tasks/T-302.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/docs/tasks/T-302.md b/docs/tasks/T-302.md index 2af5340..509412b 100644 --- a/docs/tasks/T-302.md +++ b/docs/tasks/T-302.md @@ -3,7 +3,7 @@ id: T-302 title: 已授权任务原子领取与租约(F-005) phase: 3 deps: [T-301, T-203] -status: DOING +status: DONE created: 2026-08-04 vikunja_task_id: 34 context_ref: 2331882 @@ -25,7 +25,7 @@ write_paths: - docs/04-architecture.md --- - + ## 问题 / 背景 T-203 已把管理员明确授权的任务原子转为 PENDING,T-301 已提供可撤销的真实设备身份,但采购工具还不能安全领取任务。T-302 建立服务端原子领取、幂等重放和租约续期边界,使同一授权只能产生一条可恢复 attempt;不实现客户端轮询、页面执行、事件、提交围栏或结果上报。 @@ -78,6 +78,10 @@ T-203 已把管理员明确授权的任务原子转为 PENDING,T-301 已提供 ### 2026-08-04T13:15:18Z · ila 2026-08-04 预实现审计继续定值:claim 的 CLAIMED/EMPTY/需人工结果与 renew 成功都必须持久化幂等,同键重放不再次 CAS/延长;secret 启动时拒绝与 session 原始值或 key bytes 相同,并拒绝命中任何设备 token hash,所有 claim 逐行重建恒定时复核;证据首次写入要求同设备未关闭 claim,但已成功 upload_key 在 claim 关闭后仍先按原载荷稳定重放。HTTP JSON 上限 4096 bytes;claim 200、EMPTY 204,renew 200;400/413/415 固定错误,401/503 空,409 只用 idempotency_conflict、claim_requires_manual、claim_not_current。 + +### 2026-08-04T14:32:06Z · ila + +2026-08-04 完成:实现已授权任务原子 claim/renew、可恢复 HMAC claim token、租约 CAS、设备撤销线性化、attempt/generation 四列数据库约束及 evidence claim owner 收紧。三轮独立审计后修复 ORDERING/CLAIMED 状态版本一致性、generation lineage、双 sql.DB 确定性并发测试和 API UUID/token 示例。主 agent 与终审均通过 focused -count=25、go test、race、vet、build、完整 init(client 112 tests)、上下文和 diff-check;未实现 event/fence/submit/payment。 ## 边界