Skip to main content

Asset Event Limitations

Summary​

A consolidated, source-backed list of the current limitations of the Asset event model, each classified so reviewers can separate verified behavior from what still requires confirmation.

Audience​

Engineering, integration, QA, architecture, security, and product reviewers.

Reference Content​

Verified limitations​

#LimitationClassification
1Broker delivery from asset-service is not verified in this task (no messaging infrastructure was contacted)Requires confirmation
2No producer-side deduplication; delivery is at-least-once and duplicates are possibleVerified
3No retry ceiling or give-up threshold on failed outbox rowsVerified
4No backoff between retries; failed rows retry every relay pollVerified
5No dead-letter storage or routing on the producer sideVerified
6No automatic outbox cleanup of processed or failed rowsVerified
7Inbound event consumption by asset-service is not implemented; ProcessedIntegrationEvent is a foundation ledger onlyFoundation
8No strict global or per-asset ordering guaranteeVerified
9Single contract schema version (1); no versioning/upcasting policyVerified
10Compatibility identity (AssetCompatId) coexists with the canonical GUID identityTransitional
11RecipientEmail is null at emit; downstream enrichment owner is unconfirmedRequires confirmation
12Mark-damaged and mark-lost share one event type; consumers must read Status/ConditionVerified
13Workflow, document, and gateway interactions are HTTP, not eventsVerified
14No dedicated contract or mapper unit-test suite is claimedVerified
15CausationId population policy for asset events is not asset-specificRequires confirmation

Scope boundaries​

  • Endpoint authorization is an API-layer concern, not an eventing concern; the event model does not enforce it.
  • The event model does not carry document bytes, workflow state, or employee-profile data; only identifiers and lifecycle fields travel in the payload.

Requires confirmation (summary)​

Broker delivery per environment, retry ceilings, dead-letter policy, outbox and processed-event cleanup, reconciliation, contract governance and versioning process, notification template ownership, recipient-email enrichment ownership, and inbound-consumer activation.

Source References​

  • microservices/src/shared-kernel/Messaging/OutboxProcessor.cs
  • microservices/src/asset-service/Infrastructure/AssetDbContext.cs
  • microservices/src/asset-service/Messaging/OutboxRelayHostedService.cs
  • microservices/src/contracts/Events/AssetLifecycleEvents.cs

See Also​

Keywords​

  • Event limitations
  • Requires confirmation
  • Transitional

Revision Information​

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