feat: Fertigstellungsgrad für Betrieb-Module im SDK Flow
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 30s
CI / test-python-document-crawler (push) Successful in 22s
CI / test-python-dsms-gateway (push) Successful in 17s

flow-data.ts:
- completion?: number Feld im SDKFlowStep Interface
- Completion-Werte für 7 Betrieb-Module (Academy/Training ausgenommen):
  consent-management: 75%, dsr: 65%, whistleblower: 60%,
  incidents: 55%, notfallplan: 50%, vendor-compliance: 35%, escalations: 30%
- Bewertungsbasis: Frontend-Reifegrad + API-Abdeckung + Backend-Persistenz

page.tsx:
- completionColor() + completionLabel() Hilfsfunktionen (4-stufige Farbskala)
- BetriebOverviewPanel: Übersicht mit Balken + Ø-Wert (erscheint bei Filter=Betrieb)
- DetailPanel: Fertigstellungsgrad-Abschnitt ganz oben (Balken + Label)
- ReactFlow-Nodes: % + Mini-Fortschrittsbalken im Node-Label
- Step-Tabelle: 24px-Fortschrittsbalken-Spalte für alle Steps mit completion

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Benjamin Admin
2026-03-03 12:08:27 +01:00
parent 393eab6acd
commit 79b423e549
2 changed files with 186 additions and 0 deletions

View File

@@ -39,6 +39,13 @@ export interface SDKFlowStep {
generates?: string[]
isOptional?: boolean
url: string
/**
* Fertigstellungsgrad in Prozent (0100).
* Nur für Betrieb-Module gesetzt (außer academy/training).
* Berechnung: Frontend-Reifegrad + Backend-Persistenz + API-Abdeckung.
*/
completion?: number
}
// =============================================================================
@@ -632,6 +639,7 @@ export const SDK_FLOW_STEPS: SDKFlowStep[] = [
ragPurpose: 'Art. 15-21 DSGVO Betroffenenrechte',
isOptional: false,
url: '/sdk/dsr',
completion: 65,
},
{
id: 'escalations',
@@ -653,6 +661,7 @@ export const SDK_FLOW_STEPS: SDKFlowStep[] = [
ragCollections: [],
isOptional: false,
url: '/sdk/escalations',
completion: 30,
},
{
id: 'vendor-compliance',
@@ -675,6 +684,7 @@ export const SDK_FLOW_STEPS: SDKFlowStep[] = [
ragPurpose: 'AVV-Vorlagen und Pruefkataloge',
isOptional: false,
url: '/sdk/vendor-compliance',
completion: 35,
},
{
id: 'consent-management',
@@ -696,6 +706,7 @@ export const SDK_FLOW_STEPS: SDKFlowStep[] = [
ragCollections: [],
isOptional: false,
url: '/sdk/consent-management',
completion: 75,
},
{
id: 'notfallplan',
@@ -718,6 +729,7 @@ export const SDK_FLOW_STEPS: SDKFlowStep[] = [
generates: ['Notfallplan (PDF)'],
isOptional: false,
url: '/sdk/notfallplan',
completion: 50,
},
{
id: 'incidents',
@@ -739,6 +751,7 @@ export const SDK_FLOW_STEPS: SDKFlowStep[] = [
ragCollections: [],
isOptional: false,
url: '/sdk/incidents',
completion: 55,
},
{
id: 'whistleblower',
@@ -760,6 +773,7 @@ export const SDK_FLOW_STEPS: SDKFlowStep[] = [
ragCollections: [],
isOptional: false,
url: '/sdk/whistleblower',
completion: 60,
},
{
id: 'academy',