implement · diff

git:20261008.3911d61 to git:20261009.443953a

6 added, 8 removed. Audit A to A.

---
name: implement
- description: "实现一张工单或一项行为变更:验收测试先红后锁,再自由实现整个切片。"
+ 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 稍候重试),不推送,结束回合。
+ 2. **验收标准**:把每条标准写成一条能实际执行的检查——"打开哪里、做什么、应看到什么",或"一条命令和期望输出"。工单给了用例就照用;标准有歧义先问。
+ 3. **实现**:自由完成整个切片,不写单元或集成测试;工单给了用例或用户要求测试时,按 better-test 写成端到端测试。
+ 4. **验证**:逐条执行验收检查;按项目现有入口跑受影响的测试、类型检查与构建;碰到只复述实现的旧测试按 better-test 删掉。
+ 5. **提交**:带路径提交(带路径走临时索引,共享 checkout 上不会带上他人已暂存内容;遇 index.lock 稍候重试),不推送,结束回合。
- 结果附四项证据:验收测试路径或取证、红的摘要、绿命令与退出码、diff 为空。审查反馈的修复回合同样验证、带路径提交、结束回合。
+ 结果附:每条验收标准的检查方法与本次结果、跑过的命令与退出码。审查反馈的修复回合同样验证、带路径提交、结束回合。