Skip to main content

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.

AspectVerified state
Version field presentYes (SchemaVersion)
Emitted version for all six events1
Multiple concurrent versionsNone found
Version negotiation or upcastingNone found
Consumer version branchingNone 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.cs
  • microservices/src/contracts/Events/AssetLifecycleEvents.cs
  • microservices/src/asset-service/Infrastructure/AssetDbContext.cs

See Also​

Keywords​

  • Contract versioning
  • Schema version
  • Event evolution

Revision Information​

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