Why: 11 merged branches had left their task cards open (bookkeeping debt found on 2026-09-30); closure was manual and never triggered, so card status rotted after each merge. Evidence: dogfood run of `task.sh close --fold` closed and archived the 11 cards (previous commit); temp-repo matrix 33/33 PASS covering detection, pending-branch idempotence, dirty/no-fold refusals, post-merge auto-close on merge-type pulls, worktree guard, and the full lifecycle (closure PR merge archives cards on main). Impact: scripts/task.sh (+close, precheck [cards] report, finish-tail trigger), scripts/hooks/post-merge (new), Makefile (+task-close target, setup chmod), AGENTS.md rule; archive fixes correct PR links missed by the first dogfood run; no module or gitlink change. Refs: task card feature/card-autoclose-r1
2.4 KiB
2.4 KiB
Agent 工作说明(Agent-System-Dev)
本仓开发遵循 Development-Guidelines(见 deps/development-guidelines,gitlink 固定版本):
核心规则与术语见其 core/,按任务触发阅读 standards/ 专题;日常交付走 workflows/delivery.md。
任务启动门禁(强制)
- 任务启动或恢复后,第一次写操作前运行
make precheck并附完整输出;verdict 为SHARED_WORKSPACE_BUSY / SYNC_REQUIRED时不得编辑。 - 按其必读清单完成阅读,然后
make task-start NAME=feature/<slug>建立独立 worktree + feature 分支(自动记录 R0 与任务卡);任务中途不重复运行 precheck。 - 验收、请求审核、合入前各运行一次
make task-sync;完成声明附 precheck、task-sync、 测试三段输出。 - 合入后在 worktree 内运行
make task-finish回收 worktree 与分支(脚本会把 当前目录当 worktree 回收——在主检出运行会误删主检出,已加防护);放弃未合入 工作用make task-finish ABANDON="--abandon <原因>"并记录原因。 - 任务卡闭合(防欠账):分支合入 main 后,其任务卡须回填"已完成"+主记录 PR 链接并
归档至
.task/archive/。自动路径:make task-finish收尾触发、主检出 merge 型 pull 触发 post-merge 钩子(ff-only 不触发,由前两者兜底);手动为make task-close(主检出运行→建feature/card-close-*分支+PR,任务分支内加FOLD=--fold随当前 PR 合入)。 precheck 的[cards]行报告欠账,验收前应清零;闭合 PR 由所有者合入。
提交与 PR
- 主题行:英文祈使句一行(≤100 列,不以句点结尾);body 写
Why: / Evidence: / Impact: / Refs:四段;任务卡与 PR 描述为同一份文档。 - 跨仓 gitlink 变更须经组合验证(
make test)后在 Dev 仓推进;受保护分支经 PR 合入。 - 高后果操作双钥匙:改写历史、解除/变更分支保护、删除归档引用、发布版本——Agent 只准备 方案与命令,由用户确认并亲手执行;Agent 不得自行实施(baseline 硬边界 1 的授权范围要求)。
- 模块边界、公开契约与隔离档位见
policy/modules/(如有)与 PROJECT.md。 - 验证命令见 PROJECT.md「验证」节;完成声明须附实际命令输出证据。
- 首次克隆本仓后运行
make setup启用本地 pre-commit 钩子。