Contract changes are classified as patch, minor, or major.
Patch changes clarify wording, fix documentation errors, or add non-normative
examples without changing producer or consumer obligations.
Patch changes require:
Patch changes do not normally require consumer updates or an ADR.
Minor changes add backward-compatible expectations, optional fields, optional
behaviors, or additional guidance that does not break existing producers or
consumers.
Minor changes require:
An ADR is required when the minor change affects architecture, ownership,
cross-repository responsibilities, or long-term compatibility policy.
Major changes alter required behavior, remove or rename contract elements,
change compatibility expectations, or require coordinated producer and consumer
implementation changes.
Major changes require:
_registry/contract-subscriptions.ymlvictus.contracts.yml files when subscriptions change_registry/contracts.registry.yml and_registry/contract-subscriptions.ymlRepository-local implementation changes do not automatically change canonical
contracts. If implementation behavior remains compatible with the referenced
contract_id@version, update only the owning repository documentation,
implementation, tests, or victus.contracts.yml as needed.
If an implementation change changes the stable expectations that other
repositories rely on, treat it as a canonical contract change and follow this
process before depending on the new behavior.