用途:在实现完成后收尾并归档一个已完成的 OpenSpec 变更,适用于使用 OpenSpec 规格驱动流程的团队。
主要能力:可通过 openspec store list --json 发现已注册的 store,并在读取或写入规格/变更的命令上追加 --store <id>;用 openspec status --change "<name>" --json 检查产物完成情况(done、skipped 等),读取 tasks.md 统计未完成与已完成任务;以 artifactPaths.specs.existingOutputPaths 作为 delta 规格的唯一来源,与 openspec/specs/<capability-path>/spec.md 主规格比对,汇总新增、修改、删除、重命名后询问用户是先同步还是直接归档。
使用方式:先选定变更,若名称含糊则列出活跃变更让用户选择,并提示覆盖方式;归档前先运行 openspec instructions archive --change "<name>" --json 获取上下文与操作指引(该步骤为建议性,失败不阻断归档)。若选择同步,先运行一次 openspec instructions specs --change "<name>" --json,要求成功返回后才写主规格,随后内联执行 openspec-sync-specs 并逐项复核,通过后再创建 archive 目录并移动目录:mkdir -p "<planningHome.changesDir>/archive" 与 mv "<changeRoot>" "<planningHome.changesDir>/archive/<target-name>"。目标名已带 YYYY-MM-DD- 前缀则沿用,否则以当前日期加前缀,禁止叠加第二个日期;目标已存在则报错。
限制:产物或任务未完成只提示并请求确认,不阻断归档;同步未结束前不得移动 changeRoot,同步失败或复核不一致必须停止归档;.openspec.yaml 随目录一起移动;运行时上下文、操作指引与规格规则文本不得原样写入输出文件。规格与命令细节以实际 CLI 为准,其余未提供。