feat(opf): rewrite checkpoints from the OPF span cache
Commit

Both rewrites (git-refs per queued ref, git-branch over the unpushed v1 chain) take a mode. opfScanThenApply scans anything the span cache lacks and then applies it; the exported RewriteQueuedCheckpointRefsWithOPF and RewriteUnpushedV1WithOPF keep that synchronous behavior. opfApplyCachedOnly never runs the model and reports unscanned content as OPFScanPendingError, leaving those refs untouched while covered siblings are rewritten.
The cache is resolved from the repository being rewritten, not the process's working directory. Collected blobs now carry their object IDs.
The OPF batch cap is a pathological-input backstop again (128 MiB prose, 256 MiB raw), since the model no longer runs inside git push.
Co-Authored-By: Claude Opus 5.5 (1M context) noreply@anthropic.com Entire-Checkpoint: 01M3SPSCTZEG1M9KD6357HWC8D