Originally published at Trida AI . Copy as markdown An agent issues a refund. The payment call times out. Nothing in that timeout tells the agent whether the money moved. The request may have died on the way out, or the refund may have completed while the response died on the way back. Both worlds look identical from where the agent sits. So it retries. That is what it was built to do, and in the second world the customer has now been refunded twice. This is not a reasoning failure...