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
| # | Limitation | Classification |
|---|---|---|
| 1 | Broker delivery from asset-service is not verified in this task (no messaging infrastructure was contacted) | Requires confirmation |
| 2 | No producer-side deduplication; delivery is at-least-once and duplicates are possible | Verified |
| 3 | No retry ceiling or give-up threshold on failed outbox rows | Verified |
| 4 | No backoff between retries; failed rows retry every relay poll | Verified |
| 5 | No dead-letter storage or routing on the producer side | Verified |
| 6 | No automatic outbox cleanup of processed or failed rows | Verified |
| 7 | Inbound event consumption by asset-service is not implemented; ProcessedIntegrationEvent is a foundation ledger only | Foundation |
| 8 | No strict global or per-asset ordering guarantee | Verified |
| 9 | Single contract schema version (1); no versioning/upcasting policy | Verified |
| 10 | Compatibility identity (AssetCompatId) coexists with the canonical GUID identity | Transitional |
| 11 | RecipientEmail is null at emit; downstream enrichment owner is unconfirmed | Requires confirmation |
| 12 | Mark-damaged and mark-lost share one event type; consumers must read Status/Condition | Verified |
| 13 | Workflow, document, and gateway interactions are HTTP, not events | Verified |
| 14 | No dedicated contract or mapper unit-test suite is claimed | Verified |
| 15 | CausationId population policy for asset events is not asset-specific | Requires 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.csmicroservices/src/asset-service/Infrastructure/AssetDbContext.csmicroservices/src/asset-service/Messaging/OutboxRelayHostedService.csmicroservices/src/contracts/Events/AssetLifecycleEvents.cs
Related Articles
See Also
Keywords
- Event limitations
- Requires confirmation
- Transitional
Revision Information
- Status: Draft
- Last reviewed: 2026-07-17
- Review cycle: Quarterly