import { type MainlineSnapshot } from './mainline-contract.js'; export interface BrokenLink { type: string; severity: 'warning' | 'error'; taskId?: string; candidateId?: string; artifactId?: string; runId?: string; reason: string; recommendedAction: string; } export interface ChainIntegrityResult { overallStatus: 'ok' | 'degraded' | 'error'; brokenLinks: BrokenLink[]; chainSummaries: { totalCandidates: number; totalDreamerTasks: number; totalPhilosopherTasks: number; totalPIArtifacts: number; chainsWithBrokenLinks: number; }; generatedAt: string; } export interface InternalizationChainIntegrityReadModelOptions { workspaceDir: string; /** Optional pre-assembled mainline snapshot. When provided, its contract verdict is merged into brokenLinks. */ mainlineSnapshot?: MainlineSnapshot; } export type PIMetadataParseResult = { status: 'missing'; } | { status: 'parsed'; parentTaskId?: string; dependencyTaskIds?: string[]; } | { status: 'malformed'; reason: string; bestEffortParentIds: string[]; }; export declare function extractPIMetadata(diagJson: string | null): PIMetadataParseResult; export declare class InternalizationChainIntegrityReadModel { private readonly dbPath; private readonly mainlineSnapshot?; constructor(opts: InternalizationChainIntegrityReadModelOptions); check(): ChainIntegrityResult; } //# sourceMappingURL=internalization-chain-integrity-read-model.d.ts.map