Asset Contract Versioning
Summary
Every asset contract carries a SchemaVersion. All six are emitted at version 1 in the verified source. No alternate-version handling exists yet.
Audience
Engineering, integration, QA, architecture, security, and product reviewers.
Reference Content
Versioning field
IntegrationEvent includes SchemaVersion (integer). The asset mapper constructs every contract with SchemaVersion = 1.
| Aspect | Verified state |
|---|---|
| Version field present | Yes (SchemaVersion) |
| Emitted version for all six events | 1 |
| Multiple concurrent versions | None found |
| Version negotiation or upcasting | None found |
| Consumer version branching | None found for asset events |
Evolution surface
The contracts are sealed record types in the shared contracts assembly. Adding or changing a field is a shared-assembly change affecting producer and consumers together. The uniform payload shape is deliberately identical across the six events, which keeps the consumer projection single.
Governance
There is no verified versioning policy, deprecation process, or compatibility matrix in source. Contract governance and the process for introducing a version 2 require confirmation.
Source References
microservices/src/contracts/Events/IntegrationEvent.csmicroservices/src/contracts/Events/AssetLifecycleEvents.csmicroservices/src/asset-service/Infrastructure/AssetDbContext.cs
Related Articles
See Also
Keywords
- Contract versioning
- Schema version
- Event evolution
Revision Information
- Status: Draft
- Last reviewed: 2026-07-17
- Review cycle: Quarterly