隔离库双 pool、目标包 race、arch-check、web 与 rebuild 证据齐全;真实 PI 未测。最后一句:继续 U9。 Co-authored-by: Cursor <cursoragent@cursor.com>
2.6 KiB
2.6 KiB
title, status, created, updated, owner, branch, worktree, mutex
| title | status | created | updated | owner | branch | worktree | mutex |
|---|---|---|---|---|---|---|---|
| M3 U8 TaskRun 终态与 RunManifest | done | 2026-09-15 | 2026-09-15 | Cursor | feature/taskrun-runmanifest | - | taskrun |
M3 U8 TaskRun 终态与 RunManifest
目标
TaskRun 终态在同一 UoW 内 CAS 写入唯一合法状态,并持久化类型化 RunManifest;重复 finalize / cancel race / SSE 断线不得产生第二条助手消息或第二份 artifact;workspace 清理仅在 verified receipt 之后。
范围
- Goose 00037
task_run_manifests+finalizing状态 internal/taskrunRunManifest 规范字节 / SHA / memberstaskrun.Commands.Finalize唯一 finalize 命令;server 变薄ctxmgr.FinalizeAssistantTaskMessage仅此写路径加入 UoW- workspace 清理门禁;
ReadArtifact替代Join(workDir, "output.md") - BackendRef 服务端 policy;隔离库并发测试;占槽 rebuild;U8 报告
非目标
- U9 backfill / corpus / 八轨 / 销毁
- M4–M6;整支 merge FAV;启用
FAV_DEGRADED_READ - 终止或改写项目 143
- 动
chat/intent刷新任务 - worktree 内
env-service
步骤
- CURRENT 认领
mutex=taskrun;从本地dev开feature/taskrun-runmanifest - Goose 00037 Up+Down;
module-boundaries.yaml表属主 - Finalize 同 UoW:CAS + 助手 turn + manifest + envelope/staging
- 清理门禁与 server 去路径、BackendRef
- 隔离库双 pool / race;占槽 rebuild;报告最后一句只能「继续 U9」或「停止扩面」
验收标准
- 重复 finalize:同一 status、同一 manifest SHA、助手消息 1 条、envelope/staging 不加倍
- finalize ∥ cancel:恰好一个合法终态
- SSE
done不出现在 TX 失败路径;commit 前断线重试不第二 turn - 无 verified receipt 则 cleanup FAIL;有 receipt 则可清 workspace 且 staging 仍能取出原 SHA
- 报告最后一句为「继续 U9」或「停止扩面」;U9 清单项保持未勾
相关链接
- Checklist: 2026-09-14-module-decoupling-refactor-acceptance.md
- Remediation: 2026-09-14-module-decoupling-refactor-plan.md
- 权威停走门: 2026-09-14-document-reliability-m2-test-report.md(继续 M3)
- Test report: 2026-09-15-taskrun-runmanifest-u8-test-report.md
证据 / 备注
未签字前禁止 U9–U12。合入 + 容器测占集成槽,主仓 ./scripts/env-service.sh dev rebuild。