Omnigraph
Schema

Schema lint

The migration planner emits code-tagged diagnostics for every schema change it rejects. Codes have the form OG-XXX-NNN and identify the rule (not the message...

The migration planner emits code-tagged diagnostics for every schema change it rejects. Codes have the form OG-XXX-NNN and identify the rule (not the message); operators reference them in suppression directives, severity overrides, and CI reports.

This page is the catalog of codes shipped today.

What's shipped

  • Stable code attached to every rejection the planner emits (today: 5 of 17 paths — the rest are tagged as future work).
  • Code appears in the user-visible error message: [OG-DS-104] removing property 'Person.age' is not supported ….
  • CLI omnigraph schema plan shows the code on unsupported change … lines.

What's not shipped yet

  • Severity configuration (planned: lint: { OG-DS-103: error }).
  • @allow(OG-XXX-NNN, "rationale") suppression directives.
  • Pre-migration checks (the migration_check { … } block).
  • The CD / VE / LK / NM families.
  • CI integration.
  • Cost-class annotations.

Code catalog

The chassis defines ten families. Today only DS and MF have emitted codes. The remaining families are reserved for future releases.

CodeFamilyTierDefault severityMeaning
OG-DS-101Destructivedestructiveerrordrop graph type with rows (reserved; not yet emitted)
OG-DS-102Destructivedestructiveerrordrop node type with rows
OG-DS-103Destructivedestructiveerrordrop edge type with rows
OG-DS-104Destructivedestructiveerrordrop property with rows
OG-DS-105Destructivedestructiveerrordrop populated vector column (reserved)
OG-MF-103Maybe-failvalidatederroradd required property without @default to populated type
OG-MF-104Maybe-failvalidatederrortighten nullable to non-nullable (reserved)
OG-MF-106Maybe-faildestructiveerrornarrowing scalar type

Families

The ten chassis families:

PrefixFamilyStatus
DSDestructive (data-loss)shipped
MFMaybe-fail / data-dependentshipped
CDConstraint deletion (relaxation warning)planned
BCBackward-incompatible (rename)implicit in @rename_from; codify later
NMNaming conventionsplanned
OWOwnership (per-resource Cedar)planned
NLNon-linear (branch-merge divergence)planned
VEVector / embeddingplanned
EDEdge / graph topologyplanned
LKLock duration / costplanned

Prior art

The chassis is modeled on Atlas's sqlcheck analyzers (DS / MF / CD / BC / NM families). Atlas was the direct inspiration for stable codes, per-rule severity, suppression directives with rationale, and pre-migration checks. omnigraph adapts the chassis to a typed-IR substrate (no SQL injection vector, no per-engine locking, native vector / edge / embedding types Atlas doesn't have).

On this page