Files
breakpilot-compliance/admin-compliance
Benjamin Admin c5c168592b feat(licenses): Task #25 — SDK module attribution rollout (11 modules)
Per project_sdk_module_attribution_matrix.md the Stufe-3 rollout is
prioritized by audit visibility. This batch covers Schritte 2-9 in one
sweep:

New reusable component:
  components/sdk/LicenseModuleBanner.tsx — single-line license banner
  placed at the top of an SDK module page. Renders rule pill (R1/R2/R3),
  source label, descriptor and link to /sdk/licenses. Replaces the
  copy-paste banner blocks I inlined in the earlier modules.

Integration points (per cluster):

  Cluster B (DSGVO/EU-Recht, R1):
    - vvt: existing "Vorlage" pill upgraded with R1 marker + tooltip
      explaining Bundeslaender-DSGVO provenance
    - dsfa: inline R1 banner citing DSGVO Art. 35

  Cluster C (EU AI Act / CRA, R1):
    - ai-act: inline R1 banner citing EU 2024/1689
    - cra:    inline R1 banner citing EU 2024/2847 + ENISA-Guidance

  Cluster D (Mix R2/R3):
    - isms: R3 banner + ISO/IEC 27001 reference disclaimer
    - security-backlog: R2 banner with OWASP CC-BY-SA attribution

  Cluster A (Eigenwerk, R3):
    - tom-generator: R1 source (DSGVO Art. 32) + R3 own-work disclaimer
    - audit-checklist: R3 banner for own audit methodology
    - document-generator: own templates R3 + cited rights R1

  Cluster E (Direct controls listing):
    - catalog-manager: System/User tag upgraded with rule classification
    - iace hazards: pattern_id pill upgraded with R3 + tooltip explaining
      BreakPilot Pattern-Engine provenance

The 11-module sweep brings audit transparency to the modules a paying
customer encounters most often. Stufe 3 of the attribution renderer
is now actually visible across the platform — previously it shipped
only the reusable <SourceBadge> component without integration points.

Pre-existing TS errors (drafting-engine constraint-enforcer, dsfa
types tests) untouched — not in scope for this licensing rollout.
2026-05-21 23:16:09 +02:00
..

admin-compliance

Next.js 15 dashboard for BreakPilot Compliance — SDK module UI, company profile, DSR, DSFA, VVT, TOM, consent, AI Act, training, audit, change requests, etc. Also hosts 96+ API routes that proxy/orchestrate backend services.

Port: 3007 (container: bp-compliance-admin) Stack: Next.js 15 App Router, React 18, TailwindCSS, TypeScript strict.

Architecture (Phase 3 — in progress)

app/
├── <route>/
│   ├── page.tsx              # Server Component (≤200 LOC)
│   ├── _components/          # Colocated UI, each ≤300 LOC
│   ├── _hooks/               # Client hooks
│   └── _server/              # Server actions
├── api/<domain>/route.ts     # Thin handlers → lib/server/<domain>/
lib/
├── <domain>/                 # Pure helpers, zod schemas
└── server/<domain>/          # "server-only" logic
components/                   # App-wide shared UI

See ../AGENTS.typescript.md.

Run locally

cd admin-compliance
npm install
npm run dev          # http://localhost:3007

Tests

npm test                      # Vitest unit + component tests
npx playwright test           # E2E
npx tsc --noEmit              # Type-check
npx next lint

Known debt

  • lib/sdk/types.ts has been split: it is now a barrel re-export to lib/sdk/types/ (12 domain files: enums, company-profile, sdk-steps, and others).
  • lib/sdk/tom-generator/controls/loader.ts has been split: it is now a barrel re-export to categories/ (8 category files).
  • Phase 3 refactoring is ongoing — several large page files remain and are being addressed incrementally.
  • 0 test files for the page layer. Adding Playwright smoke + Vitest unit coverage is ongoing Phase 3 work.

Don't touch

  • Backend API paths without updating backend-compliance/ in the same change.
  • lib/sdk/types/ barrel re-exports — add new types to the appropriate domain file, not back into the root.