fix+test+docs: Archivierte Projekte, Vitest-Tests & Regulations-Doku
Some checks failed
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) Failing after 38s
CI / test-python-backend-compliance (push) Successful in 39s
CI / test-python-document-crawler (push) Successful in 26s
CI / test-python-dsms-gateway (push) Successful in 21s
Some checks failed
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) Failing after 38s
CI / test-python-backend-compliance (push) Successful in 39s
CI / test-python-document-crawler (push) Successful in 26s
CI / test-python-dsms-gateway (push) Successful in 21s
- fix(ProjectSelector): Archivierte Projekte anklickbar machen, doppelten "Neues Projekt" Button entfernen - test: 32 Vitest-Tests fuer scope-to-facts und supervisory-authority-resolver - docs(flow-data): Scope-Step outputs + Obligations inputs erweitert - docs(developer-portal): Feature-Highlight "Automatische Regulierungs-Ableitung" - docs(mkdocs): Neuer Abschnitt Regulierungs-Ableitung in obligations.md Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -144,7 +144,7 @@ Obligation DSGVO-ART-32 → Controls [TOM-001, TOM-042, TOM-097]
|
||||
| `GET` | `/sdk/v1/ucca/obligations/regulations` | Alle verfügbaren Regulierungen auflisten |
|
||||
| `GET` | `/sdk/v1/ucca/obligations/regulations/:id/decision-tree` | Entscheidungsbaum für eine Regulierung |
|
||||
|
||||
### Schnellprüfung
|
||||
### Schnellprüfung & Scope-Assessment
|
||||
|
||||
| Methode | Pfad | Beschreibung |
|
||||
|---------|------|--------------|
|
||||
@@ -205,6 +205,60 @@ Obligation DSGVO-ART-32 → Controls [TOM-001, TOM-042, TOM-097]
|
||||
|
||||
---
|
||||
|
||||
## Automatische Regulierungs-Ableitung
|
||||
|
||||
Seit v2 kann das Obligations-Framework anwendbare Regulierungen und Aufsichtsbehörden direkt aus dem Scope-Profiling ableiten.
|
||||
|
||||
### Datenfluss
|
||||
|
||||
```
|
||||
CompanyProfile + ScopeProfilingAnswers
|
||||
│
|
||||
▼
|
||||
scope-to-facts.ts ← Konvertiert Profil + Scope-Antworten in ScopeDecisionPayload
|
||||
│
|
||||
▼
|
||||
POST /assess-from-scope ← Go AI SDK bewertet Payload gegen Condition Engine
|
||||
│
|
||||
▼
|
||||
ApplicableRegulations ← Liste anwendbarer Gesetze (DSGVO, AI Act, NIS2, etc.)
|
||||
+
|
||||
supervisory-authority- ← Zuständige Aufsichtsbehörden (LfDI, BSI, BaFin, BNetzA)
|
||||
resolver.ts
|
||||
```
|
||||
|
||||
### Neue Dateien
|
||||
|
||||
| Datei | Beschreibung |
|
||||
|-------|--------------|
|
||||
| `admin-compliance/lib/sdk/scope-to-facts.ts` | Mapper: CompanyProfile + ScopeAnswers → `ScopeDecisionPayload` für Go SDK |
|
||||
| `admin-compliance/lib/sdk/supervisory-authority-resolver.ts` | Ermittelt Aufsichtsbehörden aus Bundesland/Land + Regulierungen |
|
||||
|
||||
### scope-to-facts.ts
|
||||
|
||||
Exportierte Funktionen:
|
||||
|
||||
- `buildAssessmentPayload(profile, scopeAnswers, decision)` → `ScopeDecisionPayload`
|
||||
- `parseEmployeeRange(range)` → Mittelwert als Zahl (z.B. "50-249" → 150)
|
||||
- `parseRevenueRange(range)` → Umsatz als Zahl (z.B. "10-50 Mio" → 30.000.000)
|
||||
|
||||
### supervisory-authority-resolver.ts
|
||||
|
||||
Exportierte Funktion:
|
||||
|
||||
- `resolveAuthorities(state, country, regulationIds)` → `SupervisoryAuthorityResult[]`
|
||||
|
||||
Abgedeckte Regulierungen → Behörden:
|
||||
|
||||
| Regulierung | Behörde (DE) | Behörde (Andere) |
|
||||
|-------------|-------------|-----------------|
|
||||
| `dsgvo` | Landes-Datenschutzbehörde (16 Bundesländer) | Nationale DSB (AT, CH, FR, NL, etc.) |
|
||||
| `nis2` | BSI | NCSA |
|
||||
| `financial_policy` | BaFin | — |
|
||||
| `ai_act` | BNetzA | — |
|
||||
|
||||
---
|
||||
|
||||
## Gap-Analyse
|
||||
|
||||
Die Gap-Analyse vergleicht die **geforderten TOM-Controls** (aus Obligations) mit den **implementierten Controls** (aus `compliance_controls`):
|
||||
|
||||
Reference in New Issue
Block a user