Skip to main content

Performance Outbox and Delivery

Summary​

The outbox shares the Performance local transaction with aggregate, audit, and timeline persistence. Rows retain event identity/type, serialized contract, schema/context metadata, occurrence, state, retry count, error, and processed time.

The relay reads bounded Pending/Failed work ordered by occurrence time and publishes sequentially within that batch. Failure records an error and increments retry count for later polling. No terminal outbox retry limit, dead-letter behavior, replay command, or reconciliation owner is confirmed.

Persisted intent does not prove publication; publication does not prove consumer completion; exactly-once delivery is not confirmed. Operational topology and configuration are intentionally excluded.

Requires confirmation​

Operational ownership, service objectives, reconciliation, replay, and future consumer governance require confirmation where not explicitly implemented.

Source References​

  • microservices/src/performance-service/Infrastructure/PerformanceDbContext.cs
  • microservices/src/performance-service/Messaging/OutboxRelayHostedService.cs
  • microservices/src/shared-kernel/Messaging/OutboxProcessor.cs
  • microservices/src/shared-kernel/Outbox/OutboxMessage.cs

Revision Information​

  • Status: Draft
  • Last reviewed: 2026-07-16
  • Review cycle: Quarterly