diff --git a/.task/feature-collab-storage-u3-atomicity.md b/.task/archive/feature-collab-storage-u3-atomicity.md similarity index 99% rename from .task/feature-collab-storage-u3-atomicity.md rename to .task/archive/feature-collab-storage-u3-atomicity.md index 51d72e86..f1c68945 100644 --- a/.task/feature-collab-storage-u3-atomicity.md +++ b/.task/archive/feature-collab-storage-u3-atomicity.md @@ -1,6 +1,6 @@ # feature/collab-storage-u3-atomicity 任务卡 -任务主记录:Dev PR #328 https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/pulls/328(backend 组件 PR #140 已合入);状态:切片 1 实施完成待评审;owner:weichen +任务主记录:Dev PR #328 https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/pulls/328(backend 组件 PR #140 已合入);状态:已完成(回填);owner:weichen ## 基线与授权 @@ -72,7 +72,7 @@ | 时间(UTC) | 命令 | 被测HEAD | exit | 来源 | sha256(16) | |---|---|---|---|---|---| -## 结果与验证(完成后填写) +## 结果与验证 - 结果:U3 切片 1 交付——消息追加在会话咨询锁下单事务分配 seq(重试循环降为兜底);activity_cards v19 版本列 + SaveCardVersioned/GetCardVersion,cardsvc 用户态(status/pin/action/resolveByRef)乐观并发、冲突经既有 writeStoreErr 映射 409,系统镜像保留盲写(版本仍递增);recovery_holds v20 + admin GET /api/admin/recovery-holds、POST …/{runId}/release + ResumeInterruptedChildren fail-closed 跳过(run 级与会话级);Redis 限流单 Lua INCR+PEXPIRE(无孤儿键)+ 故障降级进程内保守限流 + Degraded 观测。 - 验证:make test、make test-backend-pg(真 PG 18.6 隔离实例 + Redis)、make build 三段 evidence 全 exit=0(SELF);CI GATE(test+test-pg)待本 PR 首跑。诚实边界:流式 Append 为同 run 顺序行为保留盲写(与用户裁决并发时以版本冲突暴露给下次读);ReconcileInterrupted 只改状态不重执行故不设跳过;hold 自动写入触发点随 U5 recovering 状态补齐。 @@ -247,3 +247,9 @@ "receipt_sha256": "c801579c3c3d759b1032d5f0c12371eea8498854263c3e796b78e1cbfaa2caed" } ``` + +## 闭合记录(card-autoclose 回填) + +- 依据:merge b2dd0c845d673fe4f6f12151b492ff96f76fff72(PR #328)已包含于 origin/main,分支成果已落盘;本段为合入后回填。 +- 合并主题:Merge pull request 'U3 slice 1: request atomicity, card versions, atomic rate limit, recovery holds (pin backend #140)' (#328) from feature/collab-storage-u3-atomicity into main +- 归档:随闭合移入 .task/archive/;任务执行期的过程证据见原任务记录与 PR。