SessionKey Schema-ID Canonicalization
Summary
Vango now computes fallback SessionKey schema IDs from one canonical type grammar in both runtime and tooling. This removes drift between runtime reflect formatting and tooling go/types formatting.
Why This Changed
Some valid SessionKey[T] declarations could previously panic at startup with a fingerprint mismatch because runtime and tooling were formatting certain types differently.
This was most visible with:
unnamed composite types
alias-adjacent forms
fallback schema-ID paths that did not share a single canonical formatter
Operational Impact
This is an intentional canonicalization break.
Some SessionKey fingerprints may change once.
vango state plan may classify affected deploys as schema-incompatible.
The normal cold-deploy acknowledgement flow may be required.
Required Workflow
1vango state plan
2vango state apply
3vango gen bindings
Then commit the updated manifest, schema, and bindings artifacts.
Diagnostics Improvement
Binding mismatch output now includes:
key name
runtime schema ID
runtime fingerprint
binding fingerprint
an actionable remediation hint