Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 3 additions & 12 deletions skills/shipping-changes/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,14 +56,15 @@ node /tmp/assert.js \ # 自定义不变量断言(如:零宏泄漏、
- **自定义 assert 优先于通用测试**:通用测试覆盖不到的领域不变量,自己写脚本断言(例:渲染产物零模板变量泄漏)。
- **stamp 在链尾**:push / PR 放最后,网络受阻不影响已验证的本地 commit。

> ⚠ **反模式(血泪)**:别把 test 与 commit 塞进同一个 `{ ...; ... }` / `;` 顺序块——块内命令各自独立执行,**test 红了 commit 照样跑**,守卫退化成「记录」而非「阻断」。必须用 `&&` 串成短路链,让前一关的非零退出码真正掐断后续。改了源,先想哪条旧断言要同步改,否则 test 必红。

## 分阶段实现(关 3)

| 原则 | 说明 |
|------|------|
| 单一关注点 | 一阶段只做一类改动(接线 / 数据迁移 / 新增层 / 测试),便于 revert |
| 向后兼容优先 | 新路径在旧产物缺省时退化为旧行为(byte-compat),降低回归风险 |
| 单点 PoC | 先拿一个代表性目标开刀,绿了再横推其余 N 个 |
| 低风险先行 | 纯增量 / 行为等价的阶段先做,中高风险阶段视效果再推 |
| 单点 PoC + 低风险先行 | 先拿代表性目标开刀,纯增量/行为等价的阶段先做;绿了再横推、再推中高风险阶段 |

## PR 自审(关 5)

Expand All @@ -75,16 +76,6 @@ node /tmp/assert.js \ # 自定义不变量断言(如:零宏泄漏、

> 自审要诚实标注「已知不一致仍在」「为兼容做的妥协」,而非粉饰。误报要核实后澄清(例:扫描器把角色名当人称漏网)。

## 速查:这套链解决什么

| 痛点 | 本链对策 |
|------|---------|
| 大改动一把梭,回归炸 | 关 1 提案 + 关 3 分阶段 |
| 提交了没测的脏代码 | 关 4 守卫链短路 |
| PR 自己看不出问题 | 关 5 挑刺视角 + 等级分类 |
| 修一个 bug 留下同类隐患 | 关 6 把隐患钉成测试 |
| 网络抖动毁掉整轮工作 | 守卫链 stamp 在尾,commit 先落地 |

## 收口

- 每关都要落到:**结论 + 动作 + 验证 + 风险 + 下一步**。
Expand Down
Loading