Schema Compatibility Shadow Policy
This unpublished crate compares the frozen V1 schema lane with the Rust-SSOT V2 lane. A matching report is evidence about their shared domain, not evidence that V1 can represent the complete V2 contract.
Corpus completion criterion
The schema shadow corpus is complete enough for a cutover decision only when all of the following are true:
- Both effective lanes accept every fixture in the declared overlap corpus.
- Every comparison has
ShadowVerdict::Matchedand no findings. ShadowCoverage::unimplemented()is empty.ShadowCoverage::not_representable()is exactly the frozen set below.- Every non-representable dimension has independent V2 acceptance coverage.
Any additional blind spot blocks cutover. A rejection in both lanes is not a match and cannot satisfy this criterion.
The frozen V1-inexpressible set is:
FunctionBodiesAndAnnotationsStructFieldsSourceCommentsAndSpansOmittedVersusExplicitIdentityIndependentAnnotationIdentityAndRemovalSubAnnotationsExtensionsAndCapabilitiesResolverGraphsAndOriginsCardinalityOutsideV1U32
Changing this set requires evidence that the frozen V1 representation actually
gained or lost the relevant information. It must not be changed merely to make
is_cutover_evidence() return true.