用途:在 OpenSpec 实验性工作流中归档一个已完成的变更,适用于实现完成后需要收尾归档的场景。
主要能力:选择目标变更(可指定名称、从上下文推断或列出活动变更让用户选择);通过 openspec status --change "<name>" --json 检查产物完成状态;读取 tasks.md 统计未完成任务;评估 delta 规格与主规格的同步状态并给出合并摘要;按用户选择执行同步或直接归档;将变更目录移动到归档目录并输出归档摘要。
使用方式:若涉及已注册的 store,先运行 openspec store list --json 获取 id,并在读写规格与变更的命令上追加 --store <id>,该标志在后续流程中保持有效。核心命令包括 openspec instructions archive --change "<name>" --json(可选,失败不阻塞)、openspec status --change "<name>" --json、openspec list --json,以及归档时的 mkdir -p "<planningHome.changesDir>/archive" 与 mv "<changeRoot>" "<planningHome.changesDir>/archive/<target-name>"。归档目录名在变更名已带 YYYY-MM-DD- 前缀时原样使用,否则前置当前日期。
限制:产物或任务未完成时仅警告并请求确认,不阻塞归档;若选择同步,需先运行 openspec instructions specs --change "<name>" --json 并要求成功返回,再内联执行 openspec-sync-specs 工作流并验证主规格,同步未完成前不得移动 changeRoot;目标归档名已存在时报错。运行时上下文与操作指引仅作提示,冲突时以既有控制输入为准,且不得逐字复制到输出文件。