- Shipped
- June 26, 2026 at 1:48 AM UTC
- Author
- Kamo
- Commit
- 419acb5
Adds the reliability core that any MLOS consumer plugs into: ProcessedEvent dedup ledger (unique consumer_name+event_id) + MlosDeadLetter DLQ + MlosDeadLetterStatus; IdempotentEventProcessor (INSERT-or-skip dedup in the handler's tx so a failure rolls back the marker; dead-letters past maxAttempts instead of looping; deadLetterUnprocessable for unparseable poison); DeadLetterReplayer (re-enqueues a DEAD letter through the outbox as a NEW eventId with causationId lineage -> no msg_id-unique/dedup-window collision, marks REPLAYED). MlosEventEnvelope gains @Jacksonized for round-trip deserialization. New @Components share the mlos.outbox.enabled opt-in; repos are in the already-scanned package. Live AbstractMlosDurableConsumer (NATS subscription) deferred to its first concrete consumer.