From f39b68318833b8eccca9759db4d28b1b9a2269a8 Mon Sep 17 00:00:00 2001 From: weichen Date: Wed, 21 Oct 2026 07:12:13 +0000 Subject: [PATCH] Record task authorization and agent receipt for the run-status fix Why: the card must record the scope, the (r1 scope-expansion -> granted expansion -> r2 success) trajectory, and the rebase onto 241e1b3 before delivery. Evidence: /tmp/be-runhitl-impl-r2-20261021.json (pi, success, transport 789f67f); no PR/merge facts yet. Impact: card metadata only; no behaviour change. Refs: fix/resolve-hitl-run-status-ordering --- .task/fix-resolve-hitl-run-status-ordering.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.task/fix-resolve-hitl-run-status-ordering.md b/.task/fix-resolve-hitl-run-status-ordering.md index 497b358..b8385b5 100644 --- a/.task/fix-resolve-hitl-run-status-ordering.md +++ b/.task/fix-resolve-hitl-run-status-ordering.md @@ -11,13 +11,16 @@ - 父任务信息(仅子任务填写):无 - accepting_requirements:false - 需求分流:verdict=NEW;selected_initiative=无;候选=无;理由=no accepting initiative;triage 收据=/tmp/be-triage-runhitl-20261021.json;receipt_sha256=39dc1067007f31d2871e03c86a389f882925d5279198b0d3bdf9d8ccd253a6f7;requirement_sha256=2756850b023061065b52aac9b8f318a9802d56bdc97882ac24b749e940ea8559 -- 授权与交付终点:<本次允许的动作与终点;未授权事项写明> +- 授权与交付终点:修复 Manager.ResolveHITL 的 run 状态写入顺序竞态并补回归测试;按 Backend 仓现行门禁完成 Review、PR、CI、合入、任务卡闭合与回收。不得改其它子系统、不得改 HTTP/server 层、不得放宽断言。 - 实施执行:agent-per-unit(配置:AGENT-EXECUTION.md;外部 Agent 一单元一新进程/会话/工作区) ## 目标与非目标 -<预期结果、受影响入口/模块/契约;明确不做什么。> +目标:Manager.ResolveHITL 先向 `hitlCh` 投递答案、再无条件 `UpdateRun(running)`,会在 runner 已把 run 写成 `completed/ended_at` 之后被覆盖回 `running/ended_at=NULL`,导致 run 永久卡在 running(无执行者)、会话永不释放、后续每次提交都是 409。修复为先以条件更新 `WHERE status='waiting_hitl'` 把 run 推进到 running(由 store 报告是否命中),再交答案给 runner;交答案后该 run 行此后唯一写者是 runner,不会被反向覆盖。 +非目标:不改 HTTP/server 层、不改其它 store 表的写入语义、不放宽任何断言、不引入新依赖、不改 schema。 + +验收条件:(1) 新回归测试在修复前红(runner 抢先结算后 DB 仍为 `completed/ended_at`)、修复后绿;(2) `go test ./internal/runmgr ./internal/store` 全绿;(3) 独立 Review 无阻塞项。 ## Agent 实施收据 按根目录 AGENT-EXECUTION.md 路由;外部 Agent 一单元一新进程/会话/隔离工作区。实施、修复与测试必须通过登记的候选执行;未配置或候选安全耗尽停在 unavailable/blocked,禁止 host 隐式代写。