ToolRetryMiddleware defaults retry non-idempotent tools on ambiguous transport errors, causing duplicate irreversible effects
With default settings, ToolRetryMiddleware retries all tools on ambiguous transport errors (e.g., httpx.ReadTimeout) that may have already committed external effects, leading to duplicate irreversible side effects. After exhausting retries, it instructs the model to 'Please try again,' compounding the risk.
