Pre-write vs post-write timeouts

The write phase decides whether a timeout is safe to replay.

Back to overview

pre_write

If the call failed or timed out before the write was issued, no downstream effect can have landed. retryfuse returns replay_safe with evidence pass. Replaying is the same as the first attempt.

post_write

If the timeout happens after the write was sent, the effect may already have committed. retryfuse returns reconcile_required with evidence unknown. A blind retry would risk a duplicate effect. This gate runs before the circuit brake.

unknown phase

When the caller cannot say whether the timeout was pre-write or post-write, the engine treats the phase as unknown and still returns reconcile_required. Unknown is not failure and not success.

Next

See why reconcile beats a blind retry and the contract reference.