用途:将某个变更里的 delta 规格同步到主规格,且不归档该变更。该操作由智能体驱动,智能体读取 delta 规格并直接编辑主规格,实现智能合并(例如只新增场景而不复制整个需求)。
主要能力:处理 delta 规格中的 ADDED、MODIFIED、REMOVED、RENAMED Requirements 段落;新增不存在的能力主规格;重命名需求;在满足严格条件时可退休某能力并删除 spec.md;最后用 openspec validate --specs 校验。
用法:可指定变更名,省略时从上下文推断;仅有一个活动变更时自动选择,歧义时必须提示用户选择。若指定 store,先运行 openspec store list --json 获取 id,再在读取/写入规格与变更的命令上追加 --store <id>,该标志在后续流程中保持有效。解析变更上下文运行 openspec status --change "<name>" --json,从 planningHome.root 定位主规格路径,仅以 artifactPaths.specs.existingOutputPaths 作为 delta 规格来源。首次写入主规格前需获取一次 specs 规则快照,若由 archive 内联调用并提供了有效快照则复用,否则运行 openspec instructions specs --change "<name>" --json。
限制:不得从无关产物推断 delta 规格;调用方给出 existingOutputPaths 子集时必须遵守,不得扩大;指令响应非零或 JSON 无效时须在写入前停止;不得把 delta 文件原样复制为主规格,主规格不得保留 delta 操作头;每次运行应幂等。删除能力规格需同时满足多项条件(无剩余需求、格式完整、本次确有删除、retire_capabilities: true 等),否则停止并报告。主规格中的 Purpose 权威不变。完整命令与流程细节见资料,未提供收费、平台等信息。