用途:在 OpenSpec 实验工作流中,将实现已完成的变更正式归档,并在归档前检查产物、任务与规格同步状态。
主要能力:选择目标变更(可指定名称,或从上下文推断、自动选择唯一活动变更,含糊时必须让用户选择);通过 openspec status --change "<name>" --json 检查产物完成度与 schema、路径上下文;读取 tasks.md 统计未完成任务;对比增量规格与主规格,提示是否同步;创建归档目录并按 YYYY-MM-DD-<change-name> 规则移动变更。
关键用法:可先运行 openspec store list --json 获取已注册 store,并对 new change、status、instructions、list、show、validate、archive、doctor、context、view 等命令追加 --store <id>,选定后保持该标志。归档前可运行 openspec instructions archive --change "<name>" --json 获取附加上下文(失败或旧 CLI 不支持时忽略并继续)。若有增量规格且用户选择同步,须先运行 openspec instructions specs --change "<name>" --json 获取规格规则,再内联执行 openspec-sync-specs 工作流,并在移动 changeRoot 前验证主规格已同步。归档命令示例:mkdir -p "<planningHome.changesDir>/archive",然后 mv "<changeRoot>" "<planningHome.changesDir>/archive/<target-name>"。
适用场景:变更实现完成、产物与任务检查通过(或用户确认带警告继续)、增量规格已同步或用户选择不同步时。
限制:产物不完整或存在未完成任务时须先警告并让用户确认,但警告不阻塞归档;目标归档名已存在则报错并建议改名或换日期,且不重复叠加日期前缀;同步未完成前不得移动 changeRoot;同步后各能力规格须逐项验证,不匹配则停止归档并报告差异;.openspec.yaml 随目录移动保留;运行上下文与操作指引仅作咨询性提示,冲突时以受控输入为准,不得逐字写入规格或归档摘要;未提供的具体收费、平台支持等信息暂未提供。