Workflow Event Idempotency
Summary
The outbox enforces uniqueness for its event identifier, which prevents duplicate storage of the same integration-event record. It does not prevent duplicate publication or duplicate consumer effects.
Verified controls
- Shared persistence defines a processed-integration-event ledger with a unique event identifier, but no Workflow consumer or ledger writer was found.
- The five adjacent callback receivers tolerate repeated decisions by returning without reapplying an already-terminal source record.
- No Workflow event deduplication handler, replay contract or consumer inbox is wired.
Consumers should therefore treat the integration event identifier as a deduplication key, but that is a design recommendation rather than a verified consumer contract.
Requires Confirmation
Consumer ownership, inbox retention, replay rules, duplicate-response behavior and callback deduplication service levels require confirmation.
Source References
microservices/src/shared-kernel/Outbox/OutboxMessage.csmicroservices/src/workflow-service/Infrastructure/WorkflowDbContext.csmicroservices/src/workflow-service/Infrastructure/Persistence.csmicroservices/src/leave-service/Api/LeaveEndpoints.csmicroservices/src/expense-service/Api/ExpenseEndpoints.csmicroservices/src/asset-service/Api/AssetEndpoints.csmicroservices/src/performance-service/Api/PerformanceEndpoints.csmicroservices/src/recruitment-service/Api/RecruitmentEndpoints.cs
Related Articles
See Also
Keywords
Workflow events, idempotency, deduplication.
Revision Information
- Status: Draft
- Last reviewed: 2026-07-20
- Next review: 2026-10-20