Address review: strict delivery, home probes, no --remote

Commit

Sophyesterday

Four findings from the PR review, all real.

PushSharedCheckpoints treated a nil from PrePush as a successful share. PrePush is fail-soft by contract: it returns nil when the sync-remote gate skips delivery, when the empty-remote guard defers it, and when pushRefIfNeeded reports delivered=false for every ref. Share therefore printed "Pushed." and a resume command for a checkpoint that never left the machine, on the default backend. Extract the OPF rewrite and the delivery loop out of prePush into opfRewriteV1IfEnabled and deliverV1Refs, and add PushCheckpointBranch: the git-branch analogue of PushQueuedCheckpointRefs, same gates and the same helpers, erroring when nothing lands. Both backends now report a confirmed count, so ShareCheckpointResult.Counted is gone.

Checkpoint and commit targets bypassed runResume, which is where agent.EnableHomeProbes() is enabled, so a branchless resume could fail to resolve an agent transcript home that is only discoverable from the agent's own settings. Enable them in runCheckpointResume, which also closes the same pre-existing gap in checkpoint resume.

Drop session share --remote. Reads resolve through the same election as the push (CheckpointReadRemotes: the elected remote, then origin), so an override that moved only the push stranded the checkpoint where the printed resume command never looks. checkpoint_push_remote is the supported way to redirect checkpoint traffic and it moves both sides.

Return NewSilentError after printing the OPF cancellation, so the root command does not print a second error over it.

Co-Authored-By: Claude Opus 5 noreply@anthropic.com Entire-Checkpoint: 01M45X9S9J35SCR9ZBY9ZQXV0K

Checkpoints

Resume Sessions Without Branch Checkpoints

Claude CodeOpus 5
View session
Checkpoint 1