Record U2 review fixes and governance tests
ci / test-pg (pull_request) Skipped
ci / svc-realcombo (pull_request) Skipped
ci / test (pull_request) Successful in 8m10s

Why: Preserve the closed-task and remote-target rewind corrections with their regression and governance test evidence.
Evidence: 71 focused tests and all 482 governance tests passed; the previous exact-head CI failed in an unrelated backend runtime test and requires a fresh run.
Impact: Review findings are fixed in scope; independent final review and current-head CI remain required.
Refs: U2 / PR #618
This commit is contained in:
2026-10-18 12:52:11 +00:00
parent 05a9a3bc89
commit f2c24015b0
+8 -2
View File
@@ -38,6 +38,8 @@
| U2 offline-capture test | capture LOCAL_READY without tracking ref | caefcb72 | test | pi, agy, cursor | 1 | pi / MiniMax-M3 | success | eb6be71cfc34 | 0 | /tmp/norm-remediation-u2-no-tracking-capture-test-receipt.json |
| U2 offline-capture fix | capture and resume without tracking ref | caefcb72 | repair | cursor, agy, pi | 1 | cursor-agent-stable / auto | success | d2986f1f5fee | 0 | /tmp/norm-remediation-u2-offline-capture-fix-receipt.json |
| U2 offline-recovery docs | clarify missing-ref local recovery | caefcb72 | implementation | cursor, agy, pi | 1 | cursor-agent-stable / auto | success | 74e4b06e5e8b | 0 | /tmp/norm-remediation-u2-offline-doc-receipt.json |
| U2 review regression tests | closed task, reachable rewind, reappearing target | caefcb72 | test | pi, agy, cursor | 1 | pi / MiniMax-M3 | success | d5b8e74c4306 | 0 | /tmp/norm-remediation-u2-review-fix-tests-receipt.json |
| U2 review fixes | reject closed task and known target rewind/divergence | caefcb72 | repair | cursor, agy, pi | 1 | cursor-agent-stable / auto | success | 05a9a3bc89b6 | 0 | /tmp/norm-remediation-u2-review-fixes-receipt.json |
## 同步记录
@@ -53,12 +55,16 @@
| 2026-10-18T11:24Z | `python3 -m unittest tests.test_evidence tests.test_task_recovery` | 210bb031d4acc5b9bde6cde66e7fa0f735bcf9f8 | 0 | SELF | d196e73da7f33421 |
| 2026-10-18T12:07Z | `python3 -m unittest tests.test_evidence tests.test_task_recovery` | d2986f1f5fee0e0ad151fd813b9306873131c805 | 0 | SELF | 85197f351f8458a8 |
| 2026-10-18T12:03Z | `python3 -m unittest tests.test_task tests.test_task_recovery tests.test_evidence` | d2986f1f5fee0e0ad151fd813b9306873131c805 | 1 | SELF | 9d19d33489e15d4d |
| 2026-10-18T12:42Z | `python3 -m unittest tests.test_evidence tests.test_task_recovery` | 05a9a3bc89b65eebd92cac6f82c3e4f28e13ab71 | 0 | SELF | 2d19085b0725fc46 |
| 2026-10-18T12:43Z | `make test-governance` | 05a9a3bc89b65eebd92cac6f82c3e4f28e13ab71 | 0 | SELF | 018194c0a804d1b9 |
## 结果与验证
- 结果:U2 两个实现切片与一项 test-only 切片均已通过成功 transport 集成;回归测试确认仅既有、登记且安全的任务可取得 `LOCAL_READY` 并续作,正式交付仍要求 `READY` 与最新目标同步。
- 验证:最终改动后 host `python3 -m unittest tests.test_evidence tests.test_task_recovery` 68/68 通过(SELF,HEAD `d2986f1f5fee0e0ad151fd813b9306873131c805`);worker 自检 evidence 50/50 通过。扩展套件 `tests.test_task tests.test_task_recovery tests.test_evidence` 共 162 项中 160 项通过,`tests.test_task` 的两项 planned-child 启动测试失败;同两项在干净父基线 `74bd05a876136ed8506332c76d535a6eb6356433` 上复现,判为既有基线失败,与本次 local-only 改动无关。PR #618 旧 head `e022948747c92d907cc11bfe412089055feb8599` 的 GATE `ci / test` 已通过;后续提交会改变 head,最终 candidate CI 必须重跑。独立 Review 与合入仍 NOT_RUN。
- 结果:U2 允许既有安全任务在真正远端不可用或目标跟踪 ref 缺失时继续有界本地工作;闭合任务和已证实的远端 target 回退/分叉均拒绝 `LOCAL_READY`。新任务和正式交付仍要求严格 READY/权威同步。
- 验证:最终修复后 host `python3 -m unittest tests.test_evidence tests.test_task_recovery` 71/71 通过(SELF,HEAD `05a9a3bc89b65eebd92cac6f82c3e4f28e13ab71`);worker evidence 自检 51/51、task recovery 20/20;`make test-governance` 482 项通过、18 项 skip。先前 PR CI run 3884/job 6150 在 `make test` 的 Go 后端测试 `TestToolCallDeltaBeforeExecution` 失败(`modules/backend/internal/runtime/llm_test.go:1084`,事件顺序为 `[tool.call.delta tool.call tool.result]`);该文件不在变更范围,旧 head `e022948...` GATE 曾通过。当前 head 已不同,须在最终提交上重跑 CI。
- Review 发现与闭合:正确性审阅指出闭合任务曾能在 precheck 收到 LOCAL_READY;可靠性审阅指出可达远端回退可能被当作离线。已分别加入红灯回归并修复。测试审阅提出的目标 ref 重现和 receipt target branch 错配边界也已覆盖。最终候选独立 Review 待完成。
- 执行偏差:原 U2 Cursor attempt 对 `tests/test_task_recovery.py` 的两个 edit 调用重叠约 449 ms,并被 fail-stop;新的 evidence 单元明确要求串行编辑,但 worker 仍在同一批次向 `scripts/evidence.py` 发出两次编辑调用(未重叠,最终 diff 已审阅且验证通过)。不能据此声称提示已强制串行;后续规范计划须区分提示、可观测证据与工具级并发防护。
- 新增执行偏差:修复闭合任务与目标回退时,worker 在同一批次向 `scripts/evidence.py` 和 `scripts/task.sh` 发出两次互不重叠编辑,违反了任务包的串行编辑要求;最终 diff 已逐项审阅,定向与完整治理测试均通过,但该结果不能证明提示具备工具级强制力。
- 验收补充:对照计划 U2 的“remote-tracking ref 不存在但 R0 对象本地可用”场景,host Review 发现首个修复只覆盖 receipt 捕获后 ref 消失,未覆盖离线 precheck 捕获时 ref 已缺失;随后新增 test-first 回归覆盖两种时序,并修复 `--local-context` 与 `resume-local` 的有界验证。`start` 与 `resume-delivery` 继续要求当前权威目标。
- 影响与剩余项:原失败 receipt `/tmp/norm-remediation-u2-receipt.json`,run_id `af20482c3e24cc32f3873d1451043481`;其 worktree 保留为诊断证据。该 run `blocked`、`transport_ref=null`、`host_fallback_authorizations=0`。Development-Manager PR #26 已合入 `b178dec`;Dev gitlink adoption 仍待 initiative 集成,不在本 U2 单元内。