用途:在 spec-superflow 变更完成后,将变更文件夹中的增量规格合并到主规格库,避免主规格与实现脱节。核心原则是:未同步的规格会变成谎言;增量规格是临时的,主规格是永久的。
主要能力:识别 workflow/changes/<change-name>/specs/ 下各能力目录的 spec.md,按 ADDED、MODIFIED、REMOVED、RENAMED 四类操作分别处理;主规格不存在时用 ADDED 创建,存在时按规则合并;MODIFIED 按 ### Requirement: <name> 匹配,未找到则标记冲突,并把原文移入注释或 Previous version 保留历史;REMOVED 移入 ## Removed 段并附原因与迁移说明;RENAMED 更新标题并加注来源。合并前检测同一需求被多个未同步变更修改、重命名撞名、MODIFIED 目标不存在等冲突,并输出冲突清单供人工解决。
使用方式:运行 node "${CLAUDE_PLUGIN_ROOT}/scripts/spec-superflow.mjs" sync <change-dir>,或直接调用 validator.detectSyncConflicts(deltaSpecs)。同步前先检查变更是否处于 abandoned 状态,已放弃的变更不得合并。合并后输出同步报告,列出各能力的增删改重命名数量与状态。
适用场景:closure-archivist 标记变更可归档后;多个变更累积了未同步增量规格时;用户询问规格一致性时;workflow-orchestrator 检测到主规格过期时。
限制:不删除增量规格文件,保留作历史记录;不自动解决多个变更对同一需求的冲突;未通过验证的变更不合并;合并可能破坏规格间交叉引用时只标记不继续;每次合并后主规格须保持自洽,无重复需求名、无对已移除需求的孤立引用。