feat: Drafting Agent Kompetenzbereich erweitert — alle 18 Dokumenttypen, Gap-Banner, Redirect-Logic
All checks were successful
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / test-go-ai-compliance (push) Successful in 35s
CI / test-python-backend-compliance (push) Successful in 32s
CI / test-python-document-crawler (push) Successful in 24s
CI / test-python-dsms-gateway (push) Successful in 23s
All checks were successful
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / test-go-ai-compliance (push) Successful in 35s
CI / test-python-backend-compliance (push) Successful in 32s
CI / test-python-document-crawler (push) Successful in 24s
CI / test-python-dsms-gateway (push) Successful in 23s
- DOCUMENT_SDK_STEP_MAP: 12 kaputte URLs korrigiert (z.B. /sdk/loeschkonzept → /sdk/loeschfristen) - Go Backend: iace_ce_assessment zur validTypes-Whitelist hinzugefuegt - SOUL-Datei: von 17 auf ~80 Zeilen erweitert (18 draftbare Typen, Redirects, operative Module) - Intent Classifier: 10 fehlende Dokumenttyp-Patterns + 5 Redirect-Patterns (Impressum/AGB/Widerruf → Document Generator) - State Projector: getExistingDocumentTypes von 6 auf 11 Checks erweitert (risks, escalations, iace, obligations, dsr) - DraftingEngineWidget: Gap-Banner fuer kritische Luecken mit Analysieren-Button - Cross-Validation: 4 neue deterministische Regeln (DSFA-NO-VVT, DSFA-NO-TOM, DSI-NO-LF, AV-NO-VVT) - Prose Blocks: 5 neue Dokumenttypen (av_vertrag, betroffenenrechte, risikoanalyse, notfallplan, iace_ce_assessment) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -84,6 +84,66 @@ function deterministicCheck(
|
||||
})
|
||||
}
|
||||
|
||||
// Check 5: DSFA ohne VVT-Grundlage
|
||||
if (documentType === 'dsfa' && validationContext.crossReferences.vvtCategories.length === 0) {
|
||||
findings.push({
|
||||
id: 'DET-DSFA-NO-VVT',
|
||||
severity: 'error',
|
||||
category: 'cross_reference',
|
||||
title: 'DSFA ohne VVT-Grundlage',
|
||||
description: 'Eine DSFA setzt ein Verarbeitungsverzeichnis voraus. Ohne VVT fehlt die Uebersicht ueber die betroffenen Verarbeitungstaetigkeiten.',
|
||||
documentType: 'dsfa',
|
||||
crossReferenceType: 'vvt',
|
||||
legalReference: 'Art. 35 i.V.m. Art. 30 DSGVO',
|
||||
suggestion: 'Zuerst ein VVT erstellen, dann die DSFA darauf aufbauen.',
|
||||
})
|
||||
}
|
||||
|
||||
// Check 6: DSFA ohne TOM-Massnahmen
|
||||
if (documentType === 'dsfa' && validationContext.crossReferences.tomControls.length === 0) {
|
||||
findings.push({
|
||||
id: 'DET-DSFA-NO-TOM',
|
||||
severity: 'error',
|
||||
category: 'cross_reference',
|
||||
title: 'DSFA ohne TOM-Massnahmen',
|
||||
description: 'Eine DSFA muss Abhilfemassnahmen enthalten. Ohne TOM-Katalog koennen keine Schutzmassnahmen referenziert werden.',
|
||||
documentType: 'dsfa',
|
||||
crossReferenceType: 'tom',
|
||||
legalReference: 'Art. 35 Abs. 7d DSGVO',
|
||||
suggestion: 'TOM-Massnahmen definieren, bevor die DSFA erstellt wird.',
|
||||
})
|
||||
}
|
||||
|
||||
// Check 7: Datenschutzerklaerung ohne Loeschfristen
|
||||
if (documentType === 'dsi' && validationContext.crossReferences.retentionCategories.length === 0) {
|
||||
findings.push({
|
||||
id: 'DET-DSI-NO-LF',
|
||||
severity: 'warning',
|
||||
category: 'cross_reference',
|
||||
title: 'Datenschutzerklaerung ohne Loeschfristen',
|
||||
description: 'Die Datenschutzerklaerung muss Angaben zur Speicherdauer enthalten. Ohne definierte Loeschfristen fehlt diese Information.',
|
||||
documentType: 'dsi',
|
||||
crossReferenceType: 'lf',
|
||||
legalReference: 'Art. 13 Abs. 2a DSGVO',
|
||||
suggestion: 'Loeschfristen definieren und in der Datenschutzerklaerung referenzieren.',
|
||||
})
|
||||
}
|
||||
|
||||
// Check 8: AVV ohne VVT-Kontext
|
||||
if (documentType === 'av_vertrag' && validationContext.crossReferences.vvtCategories.length === 0) {
|
||||
findings.push({
|
||||
id: 'DET-AV-NO-VVT',
|
||||
severity: 'warning',
|
||||
category: 'cross_reference',
|
||||
title: 'AVV ohne VVT-Kontext',
|
||||
description: 'Ein Auftragsverarbeitungsvertrag sollte auf den im VVT dokumentierten Verarbeitungstaetigkeiten basieren.',
|
||||
documentType: 'av_vertrag',
|
||||
crossReferenceType: 'vvt',
|
||||
legalReference: 'Art. 28 Abs. 3 i.V.m. Art. 30 DSGVO',
|
||||
suggestion: 'VVT erstellen, um die betroffenen Verarbeitungstaetigkeiten fuer den AVV zu identifizieren.',
|
||||
})
|
||||
}
|
||||
|
||||
return findings
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user