Skip to content

Contract Compatibility Guidance

Until a specific DigiEmu contract declares stronger compatibility guarantees, consumers should use conservative version handling.

Record the exact version of:

  • machine-readable schemas;
  • verification-result contracts;
  • bundle formats;
  • CLI or API interfaces that affect parsing;
  • policy inputs required to interpret the result.

If the underlying format explicitly permits additional fields, a consumer may preserve fields it does not understand.

Do not delete unknown fields from evidence simply because the current consumer does not use them.

Unknown verification states require more caution than unknown descriptive fields.

If a status or state cannot be interpreted according to the contract version your consumer supports, treat it as unresolved rather than successful.

A change is potentially breaking for a consumer when it changes the meaning of:

  • verification status;
  • required evidence;
  • artifact identity;
  • signature or integrity interpretation;
  • replay or reconstruction semantics;
  • mandatory fields;
  • failure behavior.

When upgrading a contract consumer, keep evidence showing which versions were accepted before and after the change and which migration or compatibility checks were performed.