event_id unchanged across retries.
Delivery policy
The nominal retry delays are
2s, 4s, 8s, 16s, 32s, 64s, 128s,
256s, 512s, and 600s.
Retry classes
Relay marks a retryable delivery dead only after the initial attempt and all
ten retries fail. A terminal response stops earlier.
Relay resolves the destination for each attempt. It rejects localhost,
private, link-local, and cloud metadata addresses before sending.
Receiver pattern
event_id. Store that ID under a uniqueness rule and return success for a
duplicate without repeating model work, tools, or replies.
Delivered meaning
Formessage.received, Relay marks the agent recipient Delivered only after
the receiver returns 2xx. The receiver contract requires a durable commit
before that response.
Terminal state and redrive
Relay stores every attempt and terminal result in PostgreSQL. Succeeded, dead, and path-transferred rows remain for 30 days, then Relay prunes them. PostHog receives derived analytics only. It is never the delivery system of record. An operator can redrive a dead webhook from Relay Console for 72 hours after the event was created. Redrive restarts the delivery attempts with the same frozen body andevent_id.
After 72 hours, recover current Chat and Message state through ordinary REST
reads.

