implement · git:20261008.3911d61 · 2026-10-08 · sha256 1913b700d66feadf

implement git:20261008.3911d61A

Immutable. This exact content never changes and is served at /api/v1/blob/1913b700d66feadf.

---
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 为空。审查反馈的修复回合同样验证、带路径提交、结束回合。