Run one preflight before archiving
After a change reaches Archive-ready, the Runtime first provides one completearchive --dry-run in continuation. When an isolated workspace does not yet have a delivery option, the preflight includes the corresponding --finish option.
The preflight checks the archive contents, current workspace, and generated files together. If it cannot continue, it lists the blockers, affected paths, and the next confirmation command. --dry-run does not archive, commit, merge, or push. Run the single confirmation command returned by the Runtime only after the preflight says it can continue.
Delivery options and workspace type
When you create a change, you can keep using the current directory or let Comet create a branch or worktree. When the change reaches Archive, the delivery method depends on that earlier choice:- current workspace: the change completes directly in the current branch and directory, so no delivery method needs to be chosen when archiving. Comet shows the current branch and directory and explains that archiving performs no merge, push, or PR; after you confirm, it completes the archive directly.
- branch / worktree isolation: the change runs in its own branch and directory. After archiving, you decide whether to merge into the target branch, push to the remote, or open a PR. Comet shows the actual change branch, the target branch, and the directories, and presents the five mutually exclusive options below as a single decision.
The five delivery options
When you choose A–D, Comet runs the archive command with the corresponding argument (
--finish keep|merge|push|pull-request); choosing E stops here. The whole decision path:
Git state after each option
All of A–D complete the archive and create an archive commit on the change branch. They differ in what happens after that commit:- A - Keep the workspace only: the change branch gains an archive commit, the target branch is unchanged, and the branch and directory stay as they are. This archive does not remove a retained worktree.
- B - Merge locally: the archive commit is merged from the change branch into the target branch locally; the remote is unaffected.
- C - Archive and push: the archive commit is pushed to the remote together with the change branch; the target branch is not merged and no PR is opened.
- D - Push and create a PR: after pushing the change branch, a PR is opened against the target branch as its base, and the merge from there goes through the PR flow.
- E - Defer the archive: neither the archive nor the delivery runs, and nothing changes on the Git side.
Final confirmation before archiving
Whether archiving needs one extra explicit decision is controlled bynative.archive_confirmation, which defaults to automatic:
automatic: after the final Verify passes, the Runtime may continue and complete the archive. Automatic archiving does not decide the delivery method for you — when you use a branch or a worktree, you still pick one of A–E.required: after the final Verify passes, the Runtime stops at the final Archive candidate and waits for an explicit decision about this one archive. Intermediate repair rounds do not trigger this confirmation; choosing not to archive yet also keeps the current active change.
required is active, Comet stops at this step and waits for your explicit consent to this archive; only after you confirm does it run the real archive command with --confirmed. --dry-run only previews the archive result and does not write a confirmation. --confirmed only comes into play when the change is genuinely stopped at an Archive-ready state waiting for final confirmation; intermediate repair rounds never ask for it. If the requirements or acceptance criteria are modified while you wait, the change first returns to Shape, and the previous verification results and archive approval become invalid.

