/** Published result contract only: Report Engine has no dependency on Context Engine internals. */ export interface ReportContextPublication { version: 1; projectId: string; assessmentIds: string[]; scanRunIds: string[]; repositoryRevision: number; generatedAt: string; engineVersion: string; catalogVersion: string; severityCatalogVersion: string; vocabularyVersion: string; findingCount: number; clusters: Array<{ id: string; label: string; description: string; severity: 'critical' | 'high' | 'medium' | 'undetermined'; hasEvidence: boolean; scanner: number; gpo: number; confidence: { catalogued: number; recognized: number; estimated: number }; tools: string[]; resultIds: string[]; /** Unique Work counting units, distinct from multiple technical evidence rows per GPO setting. */ findingKeys?: string[]; sources: Array<{ publisher: string; title: string; url: string }>; }>; sharedSettingLevers: Array<{ settings: number; conditions: number; clusters: number; backups: number }>; } export class ReportContextRequiredError extends Error { constructor() { super('Für den Management Report sind Context-Ergebnisse desselben Assessment-Stands erforderlich. Bitte Context Engine aktivieren und erneut versuchen.'); this.name = 'ReportContextRequiredError'; } }