2d4df45acb
- 新增 rules/only-commit-fully-tested.md(pinned):端到端跑通才算通过、 禁止用 mock 冒充验证、已知缺陷不许推、如实写验证范围、不确定就说不确定 - 删除 rules/plugin-push-on-change.md:其「改完立刻 commit+push、不询问」 与新规则的验证前提冲突 - 同步更新 memory/rules/index.md 的路由表 原规则里仍然有效的两条(改插件后 `opencode service restart`、推送走 SSH) 未写入新文件,需要的话另开一条记。
1.5 KiB
1.5 KiB
id, kind, summary, highlight, created, updated, pinned
| id | kind | summary | highlight | created | updated | pinned |
|---|---|---|---|---|---|---|
| rules/only-commit-fully-tested.md | rule | 端到端跑通才算通过;禁止用 mock 冒充验证;已知缺陷不许推。 | 辅助函数单测通过 ≠ 功能可用;commit message 的 Verified 必须来自真实调用 | 1791513150284 | 1791513150284 | true |
只有完全通过测试的代码才提交。
没有跑通就不许 commit。部分验证通过、靠 mock 构造的结果、只测了辅助函数没测真实链路 —— 这些都不算通过。
具体要求:
- 端到端跑通才算。辅助函数的单测通过不代表功能可用。写完先在真实环境跑一遍,确认输出符合预期。
- 禁止用 mock 结果冒充真实验证。commit message 里的 Verified 必须来自真实调用,不是构造的返回值。
- 已知缺陷的代码不许推。发现问题时先修,修完重新验证;修不好就别提交,别用「改动本身是对的」当借口先推上去。
- 如实写验证范围。commit message 里写清测了什么、没测什么,不要用笼统的「已测试」盖过去。
- 不确定就说不确定。宁可回复「还没验证完」,也不要让用户以为可以放心用。
反面教材(我自己犯过):自动抽取的触发器能跑通、能报告状态,就宣称「抽取已打通」,实际上 generate.text 从来没成功调用过 —— 一个永远写不进记忆的抽取器,触发得再准时也是坏的。真实链路没验证就提交,还把 mock 结果写进 commit message 冒充 Verified。