ac53ecfa5d
PR Ready Gate / clear-labels (pull_request) Successful in 2s
CI / test (pull_request) Successful in 17s
CI / review (anthropic--claude-4.6-sonnet, sonnet, SONNET_REVIEW_TOKEN) (pull_request) Successful in 46s
CI / review (gpt-5, security, SECURITY_REVIEW.md, SECURITY_REVIEW_TOKEN) (pull_request) Successful in 1m11s
CI / review (gpt-5, gpt, GPT_REVIEW_TOKEN) (pull_request) Successful in 1m23s
Address review feedback on isTemporaryNetError being too broad: 1. RetryBackoff field: Added doc comment clarifying it must be configured before the first request (addresses concurrency concern). 2. isTemporaryNetError: Now inspects the underlying syscall error instead of treating all net.OpError as retriable. Only retries on: - ECONNREFUSED (connection refused) - ECONNRESET (connection reset) - ENETUNREACH (network unreachable) - EHOSTUNREACH (host unreachable) - ETIMEDOUT (connection timed out) Permanent errors like EACCES, EPERM are no longer retried. 3. DNS errors: Changed from Temporary() to IsTimeout, since "no such host" is permanent and shouldn't be retried. 4. Empty backoff slice: Added comment explaining that retry without delay is intentional when caller explicitly configures it. Addresses MINOR findings from sonnet-review-bot and gpt-review-bot.