Skip to content

Latest commit

 

History

History
55 lines (37 loc) · 1.47 KB

File metadata and controls

55 lines (37 loc) · 1.47 KB

TBE v1 Compatibility

This document defines the compatibility contract for TBE v1.x.

Stable in v1.x

CLI JSON outputs

The JSON output contracts for these commands are stable in v1.x:

  • tbe run --json
  • tbe run --plan --json
  • tbe run --dry-run --json
  • tbe replay --json
  • tbe status --json
  • tbe export --json
  • tbe validate --json

Stable means:

  • command intent and top-level object/array contract shape stay compatible
  • existing documented fields are not removed or repurposed incompatibly
  • enum/status strings used in these contracts remain stable

Evidence schema identifiers

The following identifiers are stable in v1.x:

  • cli-session/v0.2
  • cli-artifact/v0.2
  • cli-step-result/v0.4

Policy schema identifier

The policy schema identifier tbe-policy/v0.9 is stable for v1.x.

What may change in v1.x

These changes are allowed in v1.x when backward compatible:

  • additive JSON fields
  • additional non-breaking diagnostics/messages
  • internal implementation changes that do not break stable contracts
  • documentation clarifications

What requires v2.0

These changes require a major version bump:

  • removing or renaming stable JSON fields
  • changing JSON structure incompatibly for stable commands
  • changing meaning of stable status values in incompatible ways
  • changing evidence schema identifiers listed above
  • changing replay semantics in an incompatible way
  • changing policy schema identifier compatibility (tbe-policy/v0.9) incompatibly