Summary
Add a first-class way to compare two FrameVitals data contracts and classify changes as compatible, warning-level, or breaking.
Why
FrameVitals can already infer and validate contracts, but production pipelines also need to understand how a contract itself changed between versions. Contract diffing would make schema evolution reviewable before a new contract is adopted.
Proposed behavior
Given a previous and candidate contract, report changes such as:
- added/removed columns
- dtype changes
- nullability changes
- tightened/relaxed numeric bounds
- allowed-value changes
- uniqueness changes
- constraint additions/removals
Each change should include a machine-readable category and a compatibility severity.
Acceptance criteria
Priority: P1 — product feature
Suggested labels: enhancement, contracts, data-quality
Summary
Add a first-class way to compare two FrameVitals data contracts and classify changes as compatible, warning-level, or breaking.
Why
FrameVitals can already infer and validate contracts, but production pipelines also need to understand how a contract itself changed between versions. Contract diffing would make schema evolution reviewable before a new contract is adopted.
Proposed behavior
Given a previous and candidate contract, report changes such as:
Each change should include a machine-readable category and a compatibility severity.
Acceptance criteria
Priority: P1 — product feature
Suggested labels: enhancement, contracts, data-quality