用途:在 OpenSpec 实验性工作流中归档已完成的变更,适用于实现完成后需要最终确认并归档的场景。
主要能力:选择目标变更(可指定名称、从上下文推断或自动选择唯一活动变更);通过 openspec status --change "<name>" --json 检查产物完成状态;读取 tasks.md 统计未完成任务;依据 artifactPaths.specs.existingOutputPaths 评估增量规格与主规格的同步状态;必要时内联运行 openspec-sync-specs 工作流并复核同步结果;最后将 changeRoot 移动到归档目录。
使用方式:若涉及已注册的 store,先运行 openspec store list --json 获取 id,并在读写规格与变更的命令上追加 --store <id>,该选择在后续流程中保持。归档前可运行 openspec instructions archive --change "<name>" --json 获取可选上下文,失败或返回无效 JSON 时继续流程。同步前需运行 openspec instructions specs --change "<name>" --json 并要求成功返回。归档时创建 <planningHome.changesDir>/archive 目录,目标名已带 YYYY-MM-DD- 前缀则沿用,否则前置当前日期,随后用 mv 移动 changeRoot。
限制:产物或任务未完成时仅警告并需用户确认,不阻塞归档;同步未完成前不得移动 changeRoot;目标归档名已存在则报错;运行时上下文与操作指引仅为提示级输入,冲突时以既有控制值为准,且不得原样写入输出文件。