Skip to main content

Recruitment Event Contract Versioning

Summary​

All mapped Recruitment contracts use schema version one; no registry, deprecation policy, or consumer version adapter is implemented.

Audience​

Developers, QA and support engineers, integration reviewers, implementation partners, solution architects, and security reviewers.

Overview​

The shared IntegrationEvent envelope defines event identity/type, occurrence, correlation, causation, tenant, user, producer, and schema version. Recruitment mappings currently set every contract to version one.

Serialization includes schema version in the payload. Direct event-bus publication can include it in message metadata; the outbox stored-message metadata builder does not add it, although the serialized contract retains it.

No Recruitment consumer exists to demonstrate version branching. No formal contract registry, compatibility checker, deprecation lifecycle, unsupported-version response, or version adapter was found. Additive compatibility rules and breaking-change governance therefore Require confirmation rather than being current guarantees.

Requires confirmation​

Consumer ownership, tenant-envelope policy, correlation/causation policy, retry limits, replay, ordering, contract governance, reconciliation, monitoring, and production support require confirmation.

Source References​

  • microservices/src/contracts/Events/IntegrationEvent.cs
  • microservices/src/contracts/Events/RecruitmentLifecycleEvents.cs
  • microservices/src/contracts/Events/CandidateAppliedEvent.cs
  • microservices/src/recruitment-service/Infrastructure/RecruitmentDbContext.cs
  • microservices/src/shared-kernel/Outbox/IntegrationEventJsonSerializer.cs
  • microservices/src/shared-kernel/Messaging/RabbitMqEventBus.cs

See Also​

Keywords​

  • Recruitment events
  • Contract Versioning

Revision Information​

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