前置条件
phase: archiveverify_result: passbranch_status: pending- 当前分支与 change 的
bound_branch一致
branch_status 会一直保持 pending,直到用户在本阶段确认立即远端交付。
流程
归档与交付最终确认
确认前,Comet 会展示 change、验证报告、当前绑定分支、已有未提交改动的归属,以及即将执行的不可逆归档动作。
只有前两个选项会执行:
archive_confirmation 是 machine-owned 字段,不能手工编辑。
执行归档
archived: true。
归档前可以只读预览:
把最终状态放入唯一归档提交
归档完成后,Comet 在提交前运行:handled 表示远端交付方式已经确认,不表示 push 或 PR 创建已经成功。guard 必须在提交前通过,确保 .comet.yaml 中的 archived: true 和 branch_status: handled 一起进入唯一归档提交。
Comet 只暂存能归因于当前 change 的路径:
- 原 active change 路径和实际 archive 路径
- 本次 delta 更新的 main specs
- Design Doc / Plan 的归档元数据
- 归档目录中最终的
.comet.yaml
git add -A,也不得混入用户已有改动。
远端交付与完成
归档提交成功后,Comet 只执行确认时选择的方式:- 推送当前绑定分支一次;或
- 推送一次,然后创建 PR。
finishing-a-development-branch,也不会在归档后再询问本地合并、保留分支或暂不推送。需要推迟交付时,应在不可逆归档前选择“暂不归档”。
只有所选远端操作全部成功后,Comet 才运行:
handled,本地工作区没有 Comet 遗留的未提交 .comet.yaml。
失败处理
- archive、状态写入、guard 或 commit 失败:停止,不执行远端操作。
- push 失败:完整归档提交已在本地,当前任务只重试同一个 push。
- PR 创建失败:分支已推送,当前任务只重试创建 PR。
- 失败时不清除 current selection,也不宣告 workflow 完成。

