Helpdesk Event Ordering
Verified behavior
The Helpdesk outbox query orders eligible rows globally by OccurredAtUtc before taking a batch. Events carry an occurrence timestamp but no ticket sequence, aggregate version, partition key or expected predecessor.
The shared processor iterates the returned batch sequentially. That local loop does not establish a durable end-to-end ordering guarantee: concurrent processors are not prevented by a row claim, timestamps can tie, broker routing is not ticket-partitioned in the contract, and redelivery can reorder observations.
Consumer guidance
Consumers should treat each event as a snapshot notification, deduplicate by EventId, and avoid relying on receipt order for state reconstruction. A per-ticket ordering policy is Not implemented.
Source References
microservices/src/helpdesk-service/Infrastructure/Persistence.csmicroservices/src/contracts/Events/HelpdeskLifecycleEvents.csmicroservices/src/shared-kernel/Messaging/OutboxProcessor.cs
Related Articles
Revision Information
Draft source-backed documentation reviewed on 2026-07-20; next quarterly review is 2026-10-20.