Workflow Event Delivery Guarantees
Summary
The implementation provides durable local intent through the transactional outbox and repeated publication attempts, but does not establish a verified end-to-end exactly-once or strict at-least-once guarantee.
Delivery lifecycle
Verified properties
Canonical change and initial outbox record share a save. Failed records remain eligible. Transport messages request persistence. Broker connection recovery is enabled by shared transport.
Non-guarantees
No publisher confirmation, mandatory routing, consumer acknowledgement for Workflow contracts, atomic publish/status update, dead-letter path or end-to-end deduplication is verified. A successful publish followed by status-save failure can lead to duplicate publication.
Requires Confirmation
Required delivery semantics, publisher confirmation, dead-letter policy, consumer acknowledgement and duplicate tolerance require confirmation.
Source References
microservices/src/shared-kernel/Messaging/OutboxProcessor.csmicroservices/src/shared-kernel/Messaging/RabbitMqEventBus.csmicroservices/src/workflow-service/Infrastructure/Persistence.csmicroservices/src/workflow-service/Messaging/OutboxRelayHostedService.cs
Related Articles
See Also
Keywords
Workflow events, integration contracts, transactional outbox.
Revision Information
- Status: Draft
- Last reviewed: 2026-07-20
- Next review: 2026-10-20