Summary
Add durable execution semantics for async invocations (idempotency, retries, DLQ, replay).
Motivation
Current async flow lacks strong guarantees for duplicate suppression, retry behavior, and operator-driven recovery.
Proposal
- Add idempotency key support at ingestor entrypoints.
- Define retry policy (max attempts, backoff, terminal failure).
- Add dead-letter subject/stream per project.
- Add replay tool/API for DLQ messages.
Acceptance criteria
- Duplicate requests with same key are deduplicated within configured window.
- Failed async invocations are retried and then moved to DLQ.
- DLQ replay path is documented and tested.
Summary
Add durable execution semantics for async invocations (idempotency, retries, DLQ, replay).
Motivation
Current async flow lacks strong guarantees for duplicate suppression, retry behavior, and operator-driven recovery.
Proposal
Acceptance criteria