retrysafe
← All rules

nondeterministic-key

error

A dedupe or idempotency key is derived from Date.now(), Math.random(), uuid(), or similar.

Why it goes wrong

The key is different on every delivery, so neither the guard nor the provider recognizes the retry as a duplicate.

Safe pattern

Build keys only from values that are identical on every delivery: the provider's event id, the job id, or a business id from the payload.

Configure

// retrysafe.config.ts
export default defineConfig({
  rules: { "nondeterministic-key": "error" }, // or "off"
});

// or, for one line (a reason is required):
// retrysafe-ignore nondeterministic-key -- <why this is safe>