用途:在实现与验证完成后归档已完成的 SDD change。它把 delta specs 同步合并进主 specs,再把 change 文件夹移入带日期前缀的 archive,完成 SDD 周期。由 orchestrator 在实现与验证后启动,应作为专用子代理执行,不应自行委托或调用 Skill 工具。
主要能力:
- 合并 delta spec:ADDED 追加、MODIFIED 替换、REMOVED 删除(需 Reason/Migration)、RENAMED 改名并保留场景;主 spec 不存在时按整体 spec 机械复制。
- 归档迁移:用 cp -R、mv 或 git mv 机械移动 change 文件夹,禁止用 Read→Write 复制内容。
- 校验与回读:每次复制或移动后必须运行 diff -r 比较源与目标,输出为空才通过。
- 任务完成门禁:若持久化 tasks 工件中仍有未勾选实现任务,则返回 blocked,不合并、不移动、不宣称周期完成,除非有明确证明可做例外校正。
- 事实优先级:以持久化 tasks 工件最高,其次 orchestrator 启动提示中的最终状态事实,再次 verify-report 与 apply-progress(仅中间快照)。
使用方式与模式:需读取 sdd/{change-name}/ 下的 proposal、spec、design、tasks、verify-report。engram 模式跳过文件系统同步,仅保存 archive-report;openspec 模式按约定执行合并与移动;hybrid 两者都做;none 只返回闭合摘要。归档前要求原生状态报告 dependencies.archive: ready 且 nextRecommended: archive。CRITICAL 问题始终阻止归档,不接受覆盖。
限制:无 shell 访问权限时应报告 blocked,不得退回 Read/Write 复制;diff -r 为空是唯一通过证据,缺失或非空即失败;目标已存在时不覆盖、不合并、不自动改名;actionContext.mode 为 workspace-planning 时终止,操作须限定在 allowedEditRoots 内。日期用 ISO 格式。具体平台委托原语与其他细节暂未提供。