dedupe-ttl-short
warningA dedupe key expires sooner than the provider's retry window.
Why it goes wrong
A retry that arrives after the key has expired is treated as a new event and processed again.
Safe pattern
Keep dedupe keys at least as long as the provider retries (configure providers.<name>.retryWindowHours), or store them durably.
See it in the playground →
An example handler that triggers this rule.
Safe patterns guide →
Keys, transactions, leases, and status codes.
Configure
// retrysafe.config.ts
export default defineConfig({
rules: { "dedupe-ttl-short": "warning" }, // or "off"
});
// or, for one line (a reason is required):
// retrysafe-ignore dedupe-ttl-short -- <why this is safe>