diff --git a/.task/feature-card-autoclose-r1.md b/.task/feature-card-autoclose-r1.md index 7c270290..3a16d181 100644 --- a/.task/feature-card-autoclose-r1.md +++ b/.task/feature-card-autoclose-r1.md @@ -18,10 +18,13 @@ | 节点 | sync_base_sha | tested_head_sha | checked_at | |---|---|---|---| | 启动 | 69fd335deac237f5291298cb06a50bf03d11add7 | 69fd335deac237f5291298cb06a50bf03d11add7 | 2026-09-30T07:02:09Z | - -## 结果与验证(完成后填写) - -- 结果: -- 验证: -- 影响与剩余项: | 同步前验收 | 69fd335deac237f5291298cb06a50bf03d11add7 | beaefb75492bca6282163c208f18ff8c0ac01db0 | 2026-09-30T07:13:03Z | + +## 结果与验证 + +- 结果:① 11 张已合入卡片经 `task.sh close --fold` 狗粮运行回填(状态→已完成(回填)、主记录 PR 链接+merge SHA、追加闭合记录)并归档 `.task/archive/`(commit 6f6b670;首轮暴露 PR 号正则与 URL 模板两 bug,已修并修正归档内容,commit beaefb7);② `task.sh close` 子命令(按合并提交检测、pending 幂等防重复闭合分支、主检出→`feature/card-close-*` 分支+推送、`--fold` 并入当前任务 PR、GITEA_TOKEN 可选自动建 PR);③ precheck 新增 `[cards]` 欠账报告(跳过 pending);task-finish 收尾自动触发 close;新增 post-merge 钩子(仅主检出+main 的 merge 型 pull 触发,ff-only 不触发由前两者兜底);④ Makefile `task-close` 目标与 setup chmod;AGENTS.md 增补闭合规则。 +- 验证(synced head=beaefb7): + - PASS 临时真实仓库正负例矩阵 33/33(bare origin+clone+Gitea 风格合并提交):precheck 欠账报告只报已合入未闭合卡(不报未合入/已完成/pending);close 树脏拒绝、任务分支无 --fold 拒绝;主检出 close 建分支推送且内容含 PR# 回填与合规提交主题;幂等重跑无欠账且不新建分支;--fold 归档落当前任务分支且不误闭本任务卡;post-merge 钩子 merge 型 pull 自动闭合、不阻断 pull、结束后回到 main;闭合 PR 合入后主检出卡片真正移入 archive 且已完成卡不动;worktree 内 merge 不触发钩子。 + - PASS 狗粮:真实 11 卡一次识别闭合(PR#1/3/5/7/8/9/10/11/12/14/15,merge SHA 见归档卡)。 + - PASS `make test`(core ok;backend 13 包 ok 含 server 4.08s;frontend 9/9;ui tsc+6/6;agent-command vet+tests);PASS `make task-sync`(sync_base=69fd335dea tested_head=beaefb7549)。 +- 影响与剩余项:仅 Dev 仓治理面(task.sh/hooks/Makefile/AGENTS.md/.task),无子仓与 gitlink 变更。剩余:① 需 `make setup` 重新 chmod 启用 post-merge 钩子(主检出);② guidelines 仓 standards 层的对应条目更新(跨仓,后续任务);③ close 的自动建 PR 需 GITEA_TOKEN,缺失时打印手工链接。