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