用途:在 OpenSpec 实验性工作流中,于实现完成后归档一个已完成的变更,并可选择先同步增量规格到主规格。
主要能力:选择变更(指定名称、从上下文推断、唯一活动变更自动选中,不明确时列出活动变更供选择);用 openspec status --change "<name>" --json 检查产物与任务完成状态;用 openspec instructions archive --change "<name>" --json 获取可选上下文与操作指引(失败或旧版 CLI 不支持时继续归档,不报错);评估增量规格同步状态,并按需内联运行 openspec-sync-specs 工作流进行合并,随后逐项校验 ADDED/MODIFIED/REMOVED/RENAMED 是否已同步;最终在 planningHome.changesDir 下创建 archive 目录,生成 YYYY-MM-DD-<change-name> 目标名(已有日期前缀则不重复加),用 mv 移动 changeRoot 并输出归档摘要。
使用方式:可指定变更名;若指定 store,先运行 openspec store list --json 获取 id,并在读取或写入规格、变更的命令(new change、status、instructions、list、show、validate、archive、doctor、context、view)上附加 --store <id>,该选择在后续流程中保持。同步前需运行 openspec instructions specs --change "<name>" --json 且要求成功;同步必须内联完成并等待结束,避免归档移动目录时同步仍在读取。
适用场景:OpenSpec 项目中实现已完成、需要将变更归档并可能同步规格的收尾环节。
限制:产物或任务未完成只是警告,需用户确认后继续;同步失败或校验不匹配时报告差异并停止,不归档;目标归档目录已存在时报错;不将运行时上下文、操作指引或产物规则文本逐字写入输出文件;未提供价格、平台等更多信息。