22 lines
1.6 KiB
TypeScript
22 lines
1.6 KiB
TypeScript
import type { AiOverviewResult } from '../../src/domain/ai-overview';
|
|
|
|
export function validAiOverviewResult(): AiOverviewResult {
|
|
return {
|
|
schemaVersion: 1,
|
|
executiveSummary: 'Synthetic executive summary.',
|
|
assessment: { riskLevel: 'high', confidence: 'medium', rationale: 'Synthetic rationale.' },
|
|
environmentOverview: { summary: 'Synthetic environment.', factsUsed: ['domain.controller_count'] },
|
|
themes: [1, 2, 3].map(index => ({ id: `T${index}`, title: `Theme ${index}`, riskLevel: 'high' as const, confidence: 'medium' as const, summary: 'Synthetic theme.', findingIds: ['RULE-1'] })),
|
|
priorities: [{ rank: 1, title: 'Synthetic action', timeframe: 'immediate', owner: 'Security team', rationale: 'Synthetic rationale.', expectedRiskReduction: 'Reduced exposure.', validation: 'Retest the control.', findingIds: ['RULE-1'] }],
|
|
roadmap: [0, 1, 2, 3, 4].map(phase => ({ phase, title: `Phase ${phase}`, tasks: ['Synthetic task.'], completionCriteria: ['Synthetic criterion.'] })),
|
|
coverageGaps: [{ title: 'Synthetic gap', impact: 'Unknown coverage.', nextStep: 'Run the check.', evidenceIds: ['RULE-GAP'] }],
|
|
quickWins: [{ title: 'Synthetic quick win', findingIds: ['RULE-1'] }],
|
|
questions: ['Synthetic question?'],
|
|
assumptions: ['Synthetic assumption.'],
|
|
managementBrief: {
|
|
priorities: [{ title: 'Synthetische Maßnahme', timeframe: 'immediate', owner: 'IT-Sicherheit', rationale: 'Synthetische Begründung.' }],
|
|
roadmap: [0, 1, 2, 3, 4].map(phase => ({ phase, title: `Phase ${phase}`, goal: 'Synthetisches Ziel.' }))
|
|
}
|
|
};
|
|
}
|