_finalize_worktree was returning None and deleting the branch when the
final commit was empty, even though _commit_iteration had already
committed changes during the pipeline. Now checks git log for any
commits on the branch before deciding to clean up.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add -p flag to _CLAUDE_REVIEW_ARGS so reviewer uses print mode (stdin→stdout)
instead of interactive mode which conflicts with plan permission mode
- Copy input files (plan, checklist) into worktree .cross-eval-inputs/ so
agents in plan mode can access them without escaping the sandbox
- Simplify _snapshot_repo_state to use only git diff HEAD + untracked hashes,
eliminating false positives from staging state changes (git diff --cached)
and git status index drift during long-running pipelines
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>