用途:在 OpenSpec 实验性工作流中,把已实现完成的变更定稿并归档。
主要能力:选择目标变更(可指定名称,或从上下文推断、自动选择、列出活动变更让用户挑选);通过 openspec status --change "<name>" --json 检查产物完成状态;读取 tasks.md 统计未完成任务;依据 status JSON 中 artifactPaths.specs.existingOutputPaths 评估 delta spec 与主 spec 的同步状态,并给出合并摘要与选项(立即同步、不同步直接归档、取消等)。
使用方式:若涉及已注册的 store,先运行 openspec store list --json 获取 id,并在读写 spec 与变更的命令上追加 --store <id>,该选择在后续流程中保持。归档前可运行 openspec instructions archive --change "<name>" --json 获取可选上下文,该查询失败不阻塞归档。若选择同步,需先运行 openspec instructions specs --change "<name>" --json 并成功返回,再内联执行 openspec-sync-specs 工作流,随后重新比对每个 delta spec 能力,确认已同步后才归档。归档时创建 archive 目录,目标名已带 YYYY-MM-DD- 前缀则沿用,否则前置当前日期,然后移动 changeRoot。
适用场景:变更实现完成、需要把变更目录归档并可能同步主 spec 时。
限制:产物或任务未完成只警告并需用户确认,不阻塞;同步失败或比对不一致时必须停止且不归档;同步进行中不得移动 changeRoot;不得把运行时上下文、操作指引或规则文本原样写入输出文件;未提供的信息暂未说明。