feat: DSFA Section 8 KI-Anwendungsfälle + Bundesland RAG-Ingest
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 38s
CI / test-python-backend-compliance (push) Successful in 33s
CI / test-python-document-crawler (push) Successful in 24s
CI / test-python-dsms-gateway (push) Successful in 19s
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 38s
CI / test-python-backend-compliance (push) Successful in 33s
CI / test-python-document-crawler (push) Successful in 24s
CI / test-python-dsms-gateway (push) Successful in 19s
- Migration 028: ai_use_case_modules JSONB + section_8_complete auf compliance_dsfas - Neues ai-use-case-types.ts: AIUseCaseModule Interface, 8 Typen, Art22Assessment, AI Act Risikoklassen, WP248-Kriterien, Privacy by Design, createEmptyModule() Helper - types.ts: Section 8 in DSFA_SECTIONS, ai_use_case_modules im DSFA Interface, section_8_complete in DSFASectionProgress - api.ts: addAIUseCaseModule, updateAIUseCaseModule, removeAIUseCaseModule - 5 neue UI-Komponenten: AIUseCaseTypeSelector, Art22AssessmentPanel, AIRiskCriteriaChecklist, AIUseCaseModuleEditor (7 Tabs), AIUseCaseSection - DSFASidebar: Section 8 Eintrag + calculateSectionProgress case 8 - ReviewScheduleSection: ai_use_case_module Trigger-Typ ergänzt - page.tsx: Section 8 Rendering + Weiter-Button auf activeSection < 8 + KI-Module Counter - scripts/ingest-dsfa-bundesland.sh: WP248 + alle 17 Behörden → bp_dsfa_corpus - Docs: dsfa.md Section 8 + RAG-Corpus, Developer Portal DSFA mit AI-Modul-Code-Beispielen Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -51,6 +51,7 @@ import {
|
||||
StakeholderConsultationSection,
|
||||
Art36Warning,
|
||||
ReviewScheduleSection,
|
||||
AIUseCaseSection,
|
||||
} from '@/components/sdk/dsfa'
|
||||
import { SourceAttribution } from '@/components/sdk/dsfa/SourceAttribution'
|
||||
import type { DSFALicenseCode, SourceAttributionProps } from '@/lib/sdk/types'
|
||||
@@ -1834,6 +1835,15 @@ export default function DSFAEditorPage() {
|
||||
isSubmitting={isSaving}
|
||||
/>
|
||||
)}
|
||||
|
||||
{/* Section 8: KI-Anwendungsfälle (NEW) */}
|
||||
{activeSection === 8 && (
|
||||
<AIUseCaseSection
|
||||
dsfa={dsfa}
|
||||
onUpdate={handleGenericUpdate}
|
||||
isSubmitting={isSaving}
|
||||
/>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1852,7 +1862,7 @@ export default function DSFAEditorPage() {
|
||||
Zurueck
|
||||
</button>
|
||||
)}
|
||||
{activeSection < 7 && (
|
||||
{activeSection < 8 && (
|
||||
<button
|
||||
onClick={() => setActiveSection(activeSection + 1)}
|
||||
className="flex items-center gap-2 px-4 py-2 bg-purple-600 text-white rounded-lg hover:bg-purple-700 transition-colors"
|
||||
@@ -1869,6 +1879,7 @@ export default function DSFAEditorPage() {
|
||||
<div className="flex items-center gap-4 text-sm text-gray-500">
|
||||
<span>Risiken: {(dsfa.risks || []).length}</span>
|
||||
<span>Massnahmen: {(dsfa.mitigations || []).length}</span>
|
||||
<span>KI-Module: {(dsfa.ai_use_case_modules || []).length}</span>
|
||||
<span>Version: {dsfa.version || 1}</span>
|
||||
</div>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user