/** * Domain-specific lineage analysis — DQL's key differentiator. * * Tracks how data flows across business domains, creating "trust chains" * where certified blocks serve as trust checkpoints. Enables impact analysis * across domain boundaries. */ import type { LineageGraph, LineageEdge } from './lineage-graph.js'; export interface TrustChainNode { nodeId: string; name: string; domain?: string; status?: string; owner?: string; /** Whether this node is a trust checkpoint (certified block) */ isTrustCheckpoint: boolean; } export interface TrustChain { /** Ordered nodes from source to target */ nodes: TrustChainNode[]; /** Number of certified checkpoints in the chain */ certifiedCount: number; /** Number of uncertified nodes (trust gaps) */ uncertifiedCount: number; /** Trust score: certified / total (0.0 to 1.0) */ trustScore: number; /** Domain boundaries crossed */ domainCrossings: Array<{ from: string; to: string; }>; } export interface DomainImpact { /** Domain name */ domain: string; /** Nodes in this domain that are affected */ affectedNodes: Array<{ id: string; name: string; status?: string; }>; /** Number of certified blocks affected */ certifiedBlocksAffected: number; } export interface ImpactAnalysis { /** The source node being analyzed */ sourceNode: string; /** Total downstream nodes affected */ totalAffected: number; /** Breakdown by domain */ domainImpacts: DomainImpact[]; /** Cross-domain edges in the impact path */ domainCrossings: Array<{ from: string; to: string; edgeCount: number; }>; } export interface DomainFlow { /** Source domain */ from: string; /** Target domain */ to: string; /** Edges connecting these domains */ edges: LineageEdge[]; /** Nodes at the boundary (source side) */ sourceNodes: string[]; /** Nodes at the boundary (target side) */ targetNodes: string[]; } /** * Build a trust chain from a source node to a target node. * Shows certification status at every step. */ export declare function buildTrustChain(graph: LineageGraph, fromId: string, toId: string): TrustChain | null; /** * Analyze the impact of changing a node — which domains and blocks are affected downstream. */ export declare function analyzeImpact(graph: LineageGraph, nodeId: string): ImpactAnalysis; /** * Detect all cross-domain data flows in the graph. */ export declare function detectDomainFlows(graph: LineageGraph): DomainFlow[]; /** * Get a trust overview for all blocks in a domain. */ export declare function getDomainTrustOverview(graph: LineageGraph, domain: string): { totalBlocks: number; certified: number; draft: number; review: number; deprecated: number; pendingRecertification: number; trustScore: number; }; //# sourceMappingURL=domain-lineage.d.ts.map