用途:在 OpenSpec 实验性工作流中,将一个已完成的变更最终归档。适用于用户希望在实现完成后正式收尾变更的场景。
主要能力:解析并确认要归档的变更;用 openspec status --change "<name>" --json 检查制品与任务完成状态;读取 tasks.md 统计未完成任务;基于 status JSON 中的 artifactPaths.specs.existingOutputPaths 评估 delta 规格与主规格的同步状态;提示同步、跳过同步或取消;执行归档并在结束时输出摘要。
使用方式:若已注册独立 store,可先运行 openspec store list --json 获取 store id,并在读写规格与变更的命令上加 --store <id>,选定后在该工作流中保持粘性。确认变更后运行 openspec instructions archive --change "<name>" --json(可选、仅供参考,失败不阻塞归档)。随后检查制品与任务,并在需要同步时先运行 openspec instructions specs --change "<name>" --json,再内联执行 openspec-sync-specs 工作流并校验主规格。归档时若不存在则创建 archive 目录:mkdir -p "<planningHome.changesDir>/archive",目标名已带 YYYY-MM-DD- 前缀时原样使用,否则前置当前日期;随后用 mv "<changeRoot>" "<planningHome.changesDir>/archive/<target-name>" 移动。
适用场景:单机 OpenSpec 仓库中的变更收尾、规格同步与归档。
限制:制品或任务未完成时只警告并请求确认,不阻塞归档;但若请求同步而同步失败或校验不匹配,必须停止且不归档。规格同步必须内联同步执行,不能后台委托,以免移动目录与同步冲突。.openspec.yaml 随目录一起移动。运行上下文冲突时保留控制性输入;operationGuidance 仅为建议,不适用或冲突时应说明并忽略。不将上下文、指引或规则文本原样写入输出文件。无 store 时命令作用于最近的本地 openspec/ 根目录。其他命令不接收 --store 参数。