Reviewing and landing
Review and land
A run at review_open has done its work on the last phase's branch; nothing has landed. You find there a review-handoff.md and the reconciliation of the whole run, against its plan.
review-code starts from the reconciliation and the compliance findings rather than a blank prompt; running it again resumes the session, and --new-session starts over. Its model is review.code in phax.json, claude-opus-5-5 at high effort by default, or --model and --effort.
Two steps run on their own when a run reaches review, if phax.json turns them on, and can be run by hand. Neither can fail the run.
The compliance review changes nothing; its verdict goes into the pull request's description. Its model is review.compliance, claude-sonnet-5 at medium by default. publish-pr needs a GitHub remote and an authenticated gh; the remote, base branch and title are set under publish.
After the merge
archive moves the run's folder and its worktrees under ~/.phax/archive/<namespace>.<name>/ and keeps the name taken. It accepts a finished run (review_open, completed) whose final worktree is clean; an unfinished run or a dirty worktree needs --force, and a running or locked run is refused.
prune deletes archived runs for real: the archive folder, the worktrees' records in Git, the run's local branches, and its entry, which frees its name and its disk space. It shows what it will do first, asks in a terminal (--yes otherwise, --dry-run to only look), works on this repository's runs only, and never touches the records branch, remote branches or pull requests. A run whose branches hold commits found nowhere else is kept, unless you pass --force; a branch checked out somewhere keeps its run even then.