mirror of
https://github.com/ModernRelay/omnigraph.git
synced 2026-06-09 01:35:18 +02:00
Enable the Validated-tier enum tightenings. The planner now emits ChangeEnumConstraint (instead of UnsupportedChange) for: - narrow (remove allowed variants) → OG-MF-105 - String→enum (constrain a free String) → OG-MF-107 and apply gains a read-only pre-publish scan: for every Validated-tier ChangeEnumConstraint it opens the affected table at the base snapshot and runs the existing loader::validate_enum_constraints over every batch. A row holding a now-disallowed value aborts the whole apply with the offending value, before any staging write, manifest publish, or schema rename — so the graph is left untouched (invariant: integrity failures are loud, never silent data loss). The scan keys targets by table_key in a BTreeMap for deterministic order and a single scan per type, and runs before the per-table rewrite loop so a narrow combined with an unrelated AddProperty aborts before the rewrite advances any HEAD. This wires the Validated tier the lint chassis reserved but never used, which also lays the groundwork for OG-MF-104 (nullable tightening). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| src | ||
| Cargo.toml | ||