A client can retry after losing a response while the server has already committed a mutation. The key question is how to make the retry return the prior outcome without repeating the effect, including concurrent retries and crashes. I am reasoning from transactional database guarantees; no implementation or tests have been inspected. The boundary with external side effects remains an explicit design consideration.