mirror of
https://github.com/ModernRelay/omnigraph.git
synced 2026-06-09 01:35:18 +02:00
Add a ChangeEnumConstraint migration step and detect enum value-set deltas in the planner before the generic prop-type-change rejection. This commit lands the Safe (metadata-only) cases: - widen (add allowed variants): every existing row is still valid, so it's a no-code, no-scan change. - enum→String (loosen to a free string): every enum value is a valid String, so likewise Safe. Enums are stored physically as Arrow String, so these are catalog-only changes — no table rewrite, the manifest version doesn't advance, and apply rides the metadata-only path (handled as a no-op in the step loop). The CLI `schema plan` renderer shows the step (with code+tier when present). The new variant's diagnostic() resolves its attached code so apply/render derive the tier from one source of truth. Validated tightenings (narrow, String→enum) deliberately still fall through to UnsupportedChange here; they're enabled in the next commit together with the apply-time row scan, so we never accept a tightening we can't validate against existing data. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| embed.rs | ||
| main.rs | ||
| read_format.rs | ||