Replay previously-received inbound records through their mailboxes (IOPS-02).
--tenant <id> is required — it is the cross-tenant replay guard (T-49-17):
every record is loaded scoped to that tenant, so a foreign-tenant --record-id
resolves to nothing rather than replaying across the boundary. --record-id and
--since <iso8601> further narrow the set WITHIN that tenant (AND-combinable).
Matching records are iterated through the shipped single-record
MailglassInbound.Internal.Replay.replay/2, which appends an ExecutionRun with
source: :replay (append-only — no UPDATE).
Usage
mix mailglass.inbound.replay --tenant acme --record-id <uuid>
mix mailglass.inbound.replay --tenant acme --since 2026-05-01T00:00:00Z
mix mailglass.inbound.replay --tenant acme --dry-run
mix mailglass.inbound.replay --tenant acme --yesIn single-tenant deployments pass the resolver's tenant (--tenant default under
Mailglass.Tenancy.SingleTenant). Replay is non-destructive (it appends lineage
rows), so the confirmation tier is a simple [y/N] defaulting to No.
--yes/-y skips the prompt; --dry-run reports the count + scope without
replaying. Zero matches exits 0 with "nothing to replay."