Simplify receive-pack completion and convergence handling
Commit
Flatten the post-drain branches in sendReceivePack, share report-status error formatting and the unpack check, and store a RefOutcome in refAnswer instead of two booleans. reconcileRejections skips all work for accepted reports and computes verification candidates once. Tests reuse countingCloser, iotest.ErrReader and sync.OnceValue.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com Claude-Session: https://claude.ai/code/session_015v2pr6ALtc7fv7W22x8DUM Entire-Checkpoint: 01M5CAN5V936FTJZMA7HSWAK53