用途:在“想优化”和“动手改”之间加入约束,避免 AI 重构导致功能不等价或一次改动超出上下文承载。触发场景为优化、重构、拆分、性能、代码太长,且不改变行为、不新增需求。
主要流程:scan(扫描优化点清单)→ design(与用户确定做哪几条及顺序)→ apply(逐条执行,每步人工放行)。阶段间有 checkpoint:scan 未勾选不进 design,design 未放行不动代码,HUMAN 验证项未确认不推进。核心纪律是行为等价;若会改变外部可观察行为,应走 feature 或 issue。
扫描范围:用户点名文件/组件则只扫那些;“这个页面”扫入口组件及直接 import 的内部模块;“这个模块”扫模块目录内文件。范围超过 15 文件或 3000 行需先缩范围。方法库覆盖 L1 行为等价迁移、L2 代码级重构、L3 结构拆分、L4 性能,以及 architecture deepening 候选。零发现时如实说明,不硬凑清单。
执行门槛:进入 apply 前运行工作树 gate,命令为 python3 .codestable/tools/codestable-worktree-gate.py --root . --json start --unit .codestable/refactors/YYYY-MM-DD-{slug};不通过不开始改代码,override 需写 worktree-override.md。收尾 commit 前运行同一命令的 commit 模式。
Fastforward 模式:适用单函数、单组件、1-3 处优化、有测试可自证、不需目视的小重构,触发 cs-refactor-ff,直接识别、一次对齐、原地改、跑测试自证,不产 scan/design/checklist。跨多文件、超过 3 处、改公开接口、无测试覆盖或跨模块时,应走标准流程。
产出与收尾:目录为 .codestable/refactors/{YYYY-MM-DD}-{slug}/,含 scan、design、checklist.yaml、apply-notes。完成后先进入 cs-code-review 做 diff 评审,再跑全量测试、类型检查、lint,最后请用户整体目视确认并收尾 commit。限制:文档未提供具体收费、平台或效果数据;未覆盖测试的模块不宜直接重构。