fix(sdk)+docs: dsfa-visibleWhen Bug, training.md, index.md komplett
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 33s
CI / test-python-backend-compliance (push) Successful in 32s
CI / test-python-document-crawler (push) Successful in 22s
CI / test-python-dsms-gateway (push) Successful in 19s

Fixes:
- types.ts: dsfa isOptional false→true + visibleWhen ergänzt
  (sichtbar nur bei Scope L2/L3/L4 oder dsfaRequired Hard-Trigger)
- dsfa war einziger Step mit fehlendem visibleWhen laut Plan

Docs:
- training.md: NEU — Training Engine (seq 4800), alle Endpoints,
  Rollenmatrix, KI-Inhalt, Quiz, TTS-Media, DB-Schema
- mkdocs.yml: Training Engine nav-Eintrag
- index.md: E-Mail-Templates (4350) + Training Engine (4800)
  in Modul-Tabelle + URL-Liste ergänzt

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Benjamin Admin
2026-03-05 21:13:06 +01:00
parent d212208587
commit d527fcbdc8
4 changed files with 177 additions and 1 deletions

View File

@@ -0,0 +1,165 @@
# Training Engine (CP-TRAIN)
KI-generierte Schulungsinhalte, Rollenmatrix, Quiz-Engine und Zertifikatsverwaltung für Compliance-Schulungen.
**Prefix:** `CP-TRAIN` · **seq:** 4800 · **Frontend:** `https://macmini:3007/sdk/training`
**Service:** `ai-compliance-sdk` (Go/Gin, Port 8093)
**Proxy:** `/api/sdk/v1/training/[[...path]]``ai-compliance-sdk:8090/sdk/v1/training/...`
---
## Features
- Rollenbasierte Schulungsmatrix (Wer muss was absolvieren?)
- KI-generierte Schulungsinhalte (Text, Audio, Video via TTS-Service)
- Quiz-Engine mit automatischer Auswertung
- Deadline-Tracking und Eskalation bei Überziehung
- Aufgabenzuweisung (Assignments) mit Fortschrittstracking
- Unveränderliches Audit-Log für Compliance-Nachweise
- Bulk-Content-Generierung für alle Module auf einmal
---
## Rechtsgrundlage
| Artikel | Bezug |
|---------|-------|
| Art. 39 Abs. 1b DSGVO | DSB-Aufgabe: Sensibilisierung und Schulung |
| Art. 5 AI Act | Schulungspflicht für verbotene KI-Praktiken |
| Art. 4 Abs. 2 AI Act | Schulung für KI-Alphabetisierung |
---
## Tabs / Ansichten
| Tab | Inhalt |
|-----|--------|
| `overview` | Statistiken, Deadline-Warnung, Eskalation-Check |
| `modules` | CRUD aller Schulungsmodule mit Filter (Status, Regulierung) |
| `matrix` | Rollen-Modul-Matrix — wer muss welche Schulung absolvieren |
| `assignments` | Zugewiesene Schulungen mit Fortschritt und Deadline |
| `content` | KI-generierter Inhalt pro Modul + Audio/Video-Player |
| `audit` | Unveränderliches Audit-Log aller Schulungsaktivitäten |
---
## API Endpoints
### Module
| Methode | Pfad | Beschreibung |
|---------|------|--------------|
| `GET` | `/sdk/v1/training/modules` | Alle Module (`status`, `regulation` Filter) |
| `GET` | `/sdk/v1/training/modules/:id` | Modul-Detail |
| `POST` | `/sdk/v1/training/modules` | Modul erstellen |
| `PUT` | `/sdk/v1/training/modules/:id` | Modul aktualisieren |
| `DELETE` | `/sdk/v1/training/modules/:id` | Modul löschen |
### Rollenmatrix
| Methode | Pfad | Beschreibung |
|---------|------|--------------|
| `GET` | `/sdk/v1/training/matrix` | Vollständige Rollenmatrix |
| `GET` | `/sdk/v1/training/matrix/role/:role` | Matrix für eine Rolle |
| `POST` | `/sdk/v1/training/matrix` | Eintrag hinzufügen |
| `DELETE` | `/sdk/v1/training/matrix/:role/:moduleId` | Eintrag entfernen |
### Assignments
| Methode | Pfad | Beschreibung |
|---------|------|--------------|
| `GET` | `/sdk/v1/training/assignments` | Alle Zuweisungen (Filter: `status`, `role`, `moduleId`) |
| `GET` | `/sdk/v1/training/assignments/:id` | Zuweisung-Detail |
| `POST` | `/sdk/v1/training/assignments/compute` | Zuweisungen aus Matrix berechnen |
| `POST` | `/sdk/v1/training/assignments/:id/start` | Schulung starten |
| `PUT` | `/sdk/v1/training/assignments/:id` | Deadline aktualisieren |
| `POST` | `/sdk/v1/training/assignments/:id/complete` | Schulung abschließen |
### KI-Inhalt
| Methode | Pfad | Beschreibung |
|---------|------|--------------|
| `GET` | `/sdk/v1/training/modules/:id/content` | Aktueller Inhalt |
| `POST` | `/sdk/v1/training/modules/:id/generate` | Inhalt KI-generieren (Skript, Audio, Video) |
| `POST` | `/sdk/v1/training/content/generate-all` | Alle Module bulk-generieren |
| `POST` | `/sdk/v1/training/content/:id/publish` | Inhalt freigeben |
### Quiz
| Methode | Pfad | Beschreibung |
|---------|------|--------------|
| `GET` | `/sdk/v1/training/modules/:id/quiz` | Quiz-Fragen |
| `POST` | `/sdk/v1/training/modules/:id/quiz/generate` | Quiz KI-generieren |
| `POST` | `/sdk/v1/training/modules/:id/quiz/generate-all` | Alle Quizzes bulk-generieren |
| `POST` | `/sdk/v1/training/modules/:id/quiz/submit` | Antworten einreichen |
| `GET` | `/sdk/v1/training/assignments/:id/attempts` | Quiz-Versuche |
### Deadlines & Eskalation
| Methode | Pfad | Beschreibung |
|---------|------|--------------|
| `GET` | `/sdk/v1/training/deadlines` | Bevorstehende Deadlines |
| `GET` | `/sdk/v1/training/deadlines/overdue` | Überfällige Deadlines |
| `POST` | `/sdk/v1/training/escalations/check` | Eskalation auslösen |
### Statistiken & Audit
| Methode | Pfad | Beschreibung |
|---------|------|--------------|
| `GET` | `/sdk/v1/training/stats` | Überblick-Statistiken |
| `GET` | `/sdk/v1/training/audit` | Audit-Log (Filter: `action`, `moduleId`, `userId`) |
---
## SDK-Workflow Position
```
seq 4700: Academy (Compliance Academy — manuelle Schulungen)
seq 4800: Training Engine (KI-generierte Schulungen, Matrix, Quiz)
```
Das Training-Modul erweitert die Academy um KI-generierte Inhalte. Während die Academy einfache Schulungseinheiten verwaltet, bietet die Training Engine automatische Inhaltsgenerierung, eine Rollenmatrix und eine vollständige Quiz-Engine.
---
## Media (TTS-Service)
KI-generierte Inhalte werden via `compliance-tts-service` (Port 8095) in Audio und Video umgewandelt:
- **Audio:** Piper TTS → MP3 (Modell: `de_DE-thorsten-high.onnx`)
- **Video:** FFmpeg → MP4 (Skript + Stimme + Untertitel)
- **Storage:** MinIO (`bp-core-minio:9000`)
```
AudioPlayer → /sdk/v1/training/modules/:id/media (audio)
VideoPlayer → /sdk/v1/training/modules/:id/media (video)
```
---
## Frontend
**URL:** `https://macmini:3007/sdk/training`
6-Tab-Oberfläche mit:
- Statistik-Dashboard (Abschlussquote, offene Schulungen, Deadlines)
- Modul-CRUD mit Regulierungs-Badges
- Interaktive Rollenmatrix (Checkboxen)
- Fortschritts-Balken pro Assignment
- Eingebetteter Audio/Video-Player für KI-generierte Inhalte
---
## Datenbankschema (Go — ai-compliance-sdk)
Die Training Engine verwendet eigene Tabellen im `compliance` Schema:
```sql
training_modules -- Schulungsmodule (title, regulation, frequency, ...)
training_matrix -- Rollen-Modul-Zuordnungen
training_assignments -- Zuweisungen (user, module, status, progress, deadline)
training_content -- KI-generierter Inhalt (script, audio_url, video_url, ...)
training_quiz -- Quiz-Fragen pro Modul
training_quiz_attempts -- Eingereichter Antworten + Score
training_audit_log -- Unveränderliches Audit-Log
```