Bug: raw-TCP mock servers in integration tests used
`defer conn.Close()` which fires immediately after `conn.Write`
(buffered in kernel send buffer). The connection closed before the
kernel TCP stack finished transmitting the response, so the Go HTTP
client hung waiting for response headers that never arrived.
Test 1 (200 + partial body) timed out at the 5-minute idle timeout:
- mock server: Accept → Read → Write(135B) → defer Close → goroutine exits
- client: sent request, waited forever for response headers
- isDeliveryConfirmedSuccess path never reached
Tests 2-3 (500 / empty body) passed in 500ms because the 500ms
test-body-timeout caught the hanging goroutine. Fix is the same for
all three: write the response, sleep 200ms (kernel TCP transmits),
*then* close.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>