---
name: implement
description: "实现一张工单或一项行为变更：验收测试先红后锁，再自由实现整个切片。"
---

实现一张工单或一项行为变更。

1. **认领**：按仓库 issue tracker 的约定认领；关闭由合并触发，不在本技能内手动关闭。
2. **验收测试**：把每条验收标准写成接缝上的行为测试（写法、接缝、mock 边界见 better-test）。运行并贴出失败输出，确认红的原因是"尚未实现"而非环境或拼写。工单改变既有行为时，这一步先把旧测试改到新行为——旧断言的删除发生在这里，并写进结果。
   两类例外：无行为变化的工单（重构、改名、搬移）以既有测试为验收，跳过第 2、3 步；验收标准落不成自动测试的（视觉、交互手感）按 better-test 的「取证」取证，结果标注「未自动化」，跳过第 3 步。
3. **锁**：单独提交验收测试：`git add <测试路径>` 后 `git commit -m "test(<工单>): 验收" -- <测试路径>`。此后它只读。
4. **实现**：自由完成整个切片——顺序、内部拆分、内部测试与重构自行决定；内部测试同样过 better-test 的价值门。
5. **验证**：验收测试绿或取证通过；按项目现有入口跑受影响验证与静态门；有锁提交时 `git diff <锁提交> -- <测试路径>` 为空。非空即为改卷：停下，在结果中说明原因，不自行放行。
6. **提交实现**：带路径提交（带路径走临时索引，共享 checkout 上不会带上他人已暂存内容；遇 index.lock 稍候重试），不推送，结束回合。

结果附四项证据：验收测试路径或取证、红的摘要、绿命令与退出码、diff 为空。审查反馈的修复回合同样验证、带路径提交、结束回合。
