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
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:
165
docs-src/services/sdk-modules/training.md
Normal file
165
docs-src/services/sdk-modules/training.md
Normal 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
|
||||
```
|
||||
Reference in New Issue
Block a user