5b62c59f8a
기존: (ConnectError, TimeoutException) 만 transient → raise → queue retry. ReadError / WriteError / RemoteProtocolError 같은 다른 transport 류는 'except Exception' 이 잡아 _fail 처리 → max_attempts 무시하고 final fail. Phase 1D pilot 에서 5111/5115 두 건이 'Server disconnected without sending a response' (RemoteProtocolError) 로 retry 없이 final fail. Fix: except (ConnectError, TimeoutException) → except TransportError. TransportError 가 Connect/Read/Write/RemoteProtocol/Timeout 의 공통 부모 라서 모든 transport 계층 오류가 transient queue retry 대상이 됨. 5135 의 ReadTimeout (queue exhausted) 는 본 fix 와 별개 — 8.4MB PDF 가 MARKER_TIMEOUT=300s 안에 못 끝나 3번 retry 다 timeout. timeout 자체를 늘리거나 큰 PDF 분할 처리하는 별도 결정 필요. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>