Skip to content

Durable outbox with stable idempotency keys #3

@longevityboris

Description

@longevityboris

Problem

Sends use a random UUID as idempotency key per call. If the network fails after Resend accepts but before the CLI records the result, a retry generates a new UUID and produces a duplicate send.

Proposal

  1. Add outbox table: store send intent with a stable idempotency key before calling API
  2. Key derived from content hash (from + to + subject + body hash) so retries reuse the same key
  3. Resend honors idempotency keys for 24 hours
  4. Add outbox list and outbox retry commands for manual recovery
  5. Offline sends write to outbox; outbox flush sends when online

Priority: HIGH — data loss risk on unreliable networks

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions