用途:当计划中的 PR 可能超过 400 行变更,或 ODD 特性的预估/已提交变更行数超过约 400 行,或用户要求链式/堆叠 PR、评审切片、控制评审人负担时加载该技能。注意每任务建议的 400 行启发式本身不要求拆分 PR。
主要规则:超过 400 行变更的 PR 必须拆分,除非维护者明确接受 size:exception。预算只约束工作如何切片,绝不约束代码本身:不得为满足预算而删除注释、空行、文档或测试,也不得压缩或重排代码。切片有边界:只做一次诚实的切片;若没有内聚的拆分能让每个切片都在预算内,则停止迭代,保留最佳内聚拆分,报告最终行数并建议 size:exception。每个 PR 应可在约 ≤60 分钟内评审。每个 PR 使用一个可交付工作单元,测试/文档与其验证的单元放在一起。每个链式 PR 需说明起点、终点、先前依赖、后续工作和范围外事项。每个子 PR 必须包含依赖图,并用 📍 标注当前 PR。在 Feature Branch Chain 中,创建 draft/no-merge 追踪 PR;子 PR #1 目标为追踪分支,后续子项目标为直接父分支。被污染的 diff 视为基线缺陷,需重定目标或 rebase,直到只出现当前工作单元。用户选定策略后不得混用链式策略。创建分支或 PR 前验证目标仓库默认分支,以其为集成基线,而非假定的 main;即使默认分支有其他名称,堆叠到主分支的策略标识仍为 stacked-to-main。
决策门:PR ≤400 行且聚焦则保留单 PR;PR >400 且每个切片可独立合入,使用 Stacked PRs 指向已验证的默认分支;PR >400 且特性必须先集成再进入默认分支,使用带追踪的 Feature Branch Chain;生成/供应商/迁移 diff 无法干净拆分时,请维护者给 size:exception;一次切片后没有内聚拆分符合预算时停止,交付最佳拆分并报告超支与原因,建议 size:exception。ODD delivery_strategy 为 ask-on-risk 时,超预算需在下一个工作单元提交前询问链式策略;为 auto-chain 时仅在缺少时询问,否则使用缓存选择;为 single-pr 时,超预算单 PR 需 size:exception,不询问链式策略;为 exception-ok 时,记录已接受的 size:exception,不询问链式策略。
执行步骤:估算变更行数并识别独立工作单元;应用上述交付策略门,仅在需要选择的链式路径上询问策略;创建分支/PR 前验证目标仓库默认分支,只用所选策略;为每个 PR 添加 Chain Context 但不替换仓库 PR 模板;独立验证每个 PR(CI/测试/文档/人工检查、回滚范围、干净 diff);追踪 PR 保持 draft/no-merge,直到所有子 PR 评审并集成。输出契约:返回所选策略、PR 顺序、当前 PR 边界、依赖图、评审预算(新增+删除)、验证计划及任何 size:exception 理由。参考文件 references/chaining-details.md 含策略图、PR 正文段、分支命令和评审人指南。适用场景为超出 400 行变更的 PR 拆分与评审负载控制;限制包括仅做一次切片、不得改动代码以凑预算,缺失事实暂未提供。