用途:将某个变更中的 delta 规格同步到主规格,且不归档该变更。这是由智能体驱动的操作:读取 delta 规格并直接编辑主规格,从而实现智能合并(例如只新增一个场景,而不复制整条需求)。
主要能力:处理 ADDED、MODIFIED、REMOVED、RENAMED 四类需求变更;对已存在的 ADDED 需求按隐式 MODIFIED 处理;MODIFIED 支持只写新增或修改的场景,未提及内容保留;REMOVED 删除整条需求块;RENAMED 按 FROM/TO 重命名;能力不存在时新建 openspec/specs/<capability>/spec.md,含 Purpose(可标 TBD)与 Requirements。
使用方式:可选指定变更名,省略时从对话上下文推断,模糊时必须让用户选择,不得猜测或自动选择。先运行 openspec list --json 获取可用变更,展示含 delta 规格(specs/ 目录下)的变更;再运行 openspec status --change "<name>" --json,用 artifactPaths.specs.existingOutputPaths 作为 delta 规格文件列表;无 delta 规格则告知用户并停止。若用户指定 store 或工作位于某个 store,先运行 openspec store list --json 获取已注册 store id,再在读写规格与变更的命令(new change、status、instructions、list、show、validate、archive、doctor、context)上附加 --store <id>,其他命令不接受该标志;命令打印的提示已带该标志,后续命令需保留。未指定 store 时,命令作用于最近的本地 openspec/ 根目录。
限制与约束:修改前须同时阅读 delta 与主规格;保留 delta 未提及的既有内容;不清楚时询问澄清;操作应幂等,运行两次结果相同。成功后输出同步摘要,说明更新了哪些能力及新增/修改/删除/重命名的需求,并提示变更仍处于活跃状态,实现完成后再归档。