- HTTP 200 on resume: detect server ignoring Range header, write in truncate mode
instead of appending (prevents doubled/corrupted files)
- HTTP 416 without Content-Range: assume complete if >1MB exists instead of
deleting potentially multi-GB finished files
- Stream handle leak: explicit destroy() after finally to prevent fd exhaustion
- Drain timeout: don't abort controller on disk backpressure, let inner retry
loop handle it instead of escalating to full stall pipeline
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>