From d3740ac445a24173c0000063e3500608ced55293 Mon Sep 17 00:00:00 2001 From: Benjamin Admin Date: Tue, 3 Mar 2026 19:39:13 +0100 Subject: [PATCH] fix: RAG field mapping + flow-data.ts DB-Status + Security-Backlog/Quality Module - RAG page.tsx: map r.text, r.regulation_name, r.regulation_code (statt metadata-Nested) - flow-data.ts: Obligations dbTables=['compliance_obligations'], dbMode='read/write' - flow-data.ts: Loeschfristen dbTables=['compliance_loeschfristen'], dbMode='read/write' - flow-data.ts: Security-Backlog + Quality als betrieb-Module ergaenzt (seq 4900/5000, completion 100) Co-Authored-By: Claude Sonnet 4.6 --- .../(admin)/development/sdk-flow/flow-data.ts | 52 +++++++++++++++++-- admin-compliance/app/(sdk)/sdk/rag/page.tsx | 6 +-- 2 files changed, 51 insertions(+), 7 deletions(-) diff --git a/admin-compliance/app/(admin)/development/sdk-flow/flow-data.ts b/admin-compliance/app/(admin)/development/sdk-flow/flow-data.ts index cd570b3..255628b 100644 --- a/admin-compliance/app/(admin)/development/sdk-flow/flow-data.ts +++ b/admin-compliance/app/(admin)/development/sdk-flow/flow-data.ts @@ -404,8 +404,8 @@ export const SDK_FLOW_STEPS: SDKFlowStep[] = [ inputs: ['requirements', 'aiActClassification', 'modules'], outputs: ['obligationsOverview'], prerequisiteSteps: ['audit-report'], - dbTables: [], - dbMode: 'none', + dbTables: ['compliance_obligations'], + dbMode: 'read/write', ragCollections: ['bp_compliance_recht'], ragPurpose: 'NIS2, DSGVO, AI Act Pflichtentexte', isOptional: false, @@ -471,8 +471,8 @@ export const SDK_FLOW_STEPS: SDKFlowStep[] = [ inputs: ['vvt', 'dataMapping'], outputs: ['retentionPolicies'], prerequisiteSteps: ['tom'], - dbTables: [], - dbMode: 'none', + dbTables: ['compliance_loeschfristen'], + dbMode: 'read/write', ragCollections: ['bp_compliance_recht'], ragPurpose: 'Aufbewahrungsfristen nach Gesetz', isOptional: false, @@ -815,6 +815,50 @@ export const SDK_FLOW_STEPS: SDKFlowStep[] = [ isOptional: false, url: '/sdk/training', }, + { + id: 'security-backlog', + name: 'Security Backlog', + nameShort: 'Sec-Backlog', + package: 'betrieb', + seq: 4900, + checkpointId: 'CP-SEC', + checkpointType: 'RECOMMENDED', + checkpointReviewer: 'NONE', + description: 'Verwaltung offener Sicherheits-Findings: Schwachstellen, Fehlkonfigurationen und Haertungsmassnahmen.', + descriptionLong: 'Der Security Backlog erfasst alle identifizierten IT-Sicherheitsprobleme: CVE-Schwachstellen, Fehlkonfigurationen, Compliance-Luecken und Haertungsmassnahmen. Jeder Befund wird nach Schweregrad (critical/high/medium/low) klassifiziert, CVSS-Scores und betroffene Assets werden dokumentiert.', + legalBasis: 'Art. 32 DSGVO (Sicherheit der Verarbeitung), BSIG / IT-SiG 2.0', + inputs: ['risks', 'controls'], + outputs: ['securityBacklog'], + prerequisiteSteps: ['training'], + dbTables: ['compliance_security_backlog'], + dbMode: 'read/write', + ragCollections: [], + isOptional: true, + url: '/sdk/security-backlog', + completion: 100, + }, + { + id: 'quality', + name: 'KI-Qualitaetsmanagement', + nameShort: 'Quality', + package: 'betrieb', + seq: 5000, + checkpointId: 'CP-QUAL', + checkpointType: 'RECOMMENDED', + checkpointReviewer: 'NONE', + description: 'Kontinuierliches Monitoring von KI-Qualitaetsmetriken: Genauigkeit, Fairness, Erklaerbarkeit und Tests.', + descriptionLong: 'Das KI-Qualitaetsmanagement ueberwacht alle KI-Systeme auf Qualitaetsmetriken. Fuer jede Metrik wird ein Schwellenwert definiert; Ueberschreitungen loesen Warnungen aus. Qualitaetstests werden dokumentiert. Liefert Evidence fuer AI-Act High-Risk Anforderungen (Art. 9, Art. 15).', + legalBasis: 'Art. 9 AI Act (Risikomanagementsystem), Art. 15 AI Act (Genauigkeit)', + inputs: ['aiActClassification'], + outputs: ['qualityMetrics'], + prerequisiteSteps: ['security-backlog'], + dbTables: ['compliance_quality_metrics', 'compliance_quality_tests'], + dbMode: 'read/write', + ragCollections: [], + isOptional: true, + url: '/sdk/quality', + completion: 100, + }, ] // ============================================================================= diff --git a/admin-compliance/app/(sdk)/sdk/rag/page.tsx b/admin-compliance/app/(sdk)/sdk/rag/page.tsx index 1366fea..fa8f6af 100644 --- a/admin-compliance/app/(sdk)/sdk/rag/page.tsx +++ b/admin-compliance/app/(sdk)/sdk/rag/page.tsx @@ -157,10 +157,10 @@ export default function RAGPage() { content = 'Zu dieser Frage wurden keine passenden Dokumente gefunden. Bitte formulieren Sie Ihre Frage anders oder waehlen Sie ein spezifischeres Thema.' } else { const snippets = results.map((r: any, i: number) => { - const title = r.metadata?.title || r.metadata?.reference || `Dokument ${i + 1}` - const ref = r.metadata?.reference || '' + const title = r.regulation_name || r.regulation_short || `Dokument ${i + 1}` + const ref = r.regulation_code || '' sources.push({ title, reference: ref, relevance: r.score || 0 }) - return `**${title}${ref ? ` (${ref})` : ''}**\n${r.content || ''}` + return `**${title}${ref ? ` (${ref})` : ''}**\n${r.text || ''}` }) content = snippets.join('\n\n---\n\n') }