The triple
Every Causeway contract is three things, versioned as one artifact:
- Schema — columns, types, nullability, constraints. What the data looks like.
- SLA — freshness, retention, availability. When the data is allowed to be late or absent.
- 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
- RFD 0012 — Contract specification v2 is the decision doc for the triple.
- Promoting to Gold walks the review.