Drain receive-pack only before verifying a rejection

Commit

Andrea Nodari2w ago

Reading every push response to EOF made teardown errors fail pushes the report had already confirmed, held back early refusals such as a body limit until the whole pack was sent, and had no size bound. The report is authoritative, so drain only when a concurrent rejection is about to be checked against a fresh target read, cap that drain at maxDrainBytes, and otherwise close as before, ignoring teardown errors.

A failed drain or verification read now leaves the rejection in place with a warning instead of being silent. Link the changelog entries to #123.

Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com Claude-Session: https://claude.ai/code/session_015v2pr6ALtc7fv7W22x8DUM Entire-Checkpoint: 01M5CBAAF9ST290NTWXBAMA2N7