001package gudusoft.gsqlparser.ir.semantic.diff; 002 003/** 004 * Slice-7 divergence classes; the in-scope subset of the seven classes 005 * defined in the unified-roadmap §10.4. 006 */ 007public enum DivergenceClass { 008 /** Dlineage projection has the edge or output, IR projection does not. */ 009 IR_MISSING_DEPENDENCY, 010 /** IR projection has the edge or output, dlineage projection does not. */ 011 IR_EXTRA_DEPENDENCY, 012 /** Same (role, output, baseColumn) but different baseTable. */ 013 BINDING_MISMATCH, 014 /** Same (output, baseTable, baseColumn) but role differs (FILTER vs JOIN). */ 015 FILTER_OR_JOIN_SCOPE_MISMATCH, 016 /** Both sides know the output but disagree about its aggregate flag. */ 017 AGGREGATION_MISMATCH, 018 /** Builder threw — whole comparison flagged once. */ 019 UNSUPPORTED_BY_IR, 020 /** Dlineage projection bailed — whole comparison flagged once. */ 021 UNSUPPORTED_BY_DLINEAGE 022}