Append-only replay execution history row.
Replay runs always point back to the original canonical inbound record and the stored evidence row they reprocessed, so they cannot be mistaken for a fresh provider receive.
Summary
Types
@type outcome() :: :accept | :ignore | :reject | :bounce | :failed
@type t() :: %MailglassInbound.InboundRecords.ReplayRun{ __meta__: term(), executed_at: DateTime.t() | nil, failure: map(), id: Ecto.UUID.t() | nil, inbound_evidence: term(), inbound_evidence_id: Ecto.UUID.t() | nil, inbound_record: term(), inbound_record_id: Ecto.UUID.t() | nil, inserted_at: DateTime.t() | nil, mailbox: String.t() | nil, metadata: map(), outcome: outcome() | nil, outcome_reason: String.t() | nil, replay_id: String.t() | nil, tenant_id: String.t() | nil, updated_at: DateTime.t() | nil }
Functions
@spec changeset(map()) :: Ecto.Changeset.t()