export type ReviewGraphNodeKind = "file" | "symbol" | "module" | "external"; export type ReviewGraphEdgeKind = | "contains" | "defines" | "imports" | "calls" | "references"; export interface ReviewGraphNode { id: string; kind: ReviewGraphNodeKind; language: string; filePath?: string; symbolName?: string; symbolKind?: string; exported?: boolean; metadata?: Record; } export interface ReviewGraphEdge { from: string; to: string; kind: ReviewGraphEdgeKind; metadata?: Record; } export interface ReviewGraph { version: string; builtAt: string; nodes: Map; edges: ReviewGraphEdge[]; edgesByFrom: Map; edgesByTo: Map; fileNodes: Map; symbolNodesByFile: Map; changedSymbolsByFile: Map; } export interface ImpactCascadeResult { filePath: string; changedSymbols: string[]; directImporters: string[]; directCallers: string[]; neighborFiles: string[]; riskFlags: string[]; }