The triple

Every Causeway contract is three things, versioned as one artifact:

  1. Schema — columns, types, nullability, constraints. What the data looks like.
  2. SLA — freshness, retention, availability. When the data is allowed to be late or absent.
  3. Policy — classification tier (Restricted / Internal / Public), consent scope, export rights. Who may use the data, and how.

Why one artifact and not three

Because the three move together. A schema without an SLA is a lie: a column that's right today may be stale tomorrow. An SLA without a policy means the data could land in the wrong consumer's hands on time. A policy without a schema is an unbounded claim.

A single contract: one review, one version, one promote.

Breaking changes

Every field on the triple has a breaking-change rule. Loosening an SLA is non-breaking; tightening it is. Adding a nullable column is non-breaking; adding a non-nullable one without a default is. The contract validator runs these at promote time.

Where to read more