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