feat(cra): CRA/Cyber-Tab in 3 Zielgruppen-Ebenen + Brücke /sdk/cra

Frontend-Reorganisation (kein Datenmodell-Umbau):
- Ebene 1 (Management): CRA-Readiness, offene Risiken (Klartext Kritisch/Hoch/..),
  Handlungsaufwand nach Evidenz-Typ, betroffene Vorschriften, Top-Risiken, Fristen.
- Ebene 2 (Safety × Cyber): "Cyber öffnet CE-Gefährdung erneut" als Hero (USP).
- Ebene 3 (Technik): Befund-Tabelle einklappbar, interne IDs (CRA-AI-x/CWE/NIST/
  OWASP/ISO) nur im Detail, Maßnahmen-Namen statt M-IDs, größere Schrift.
- Brücke: IACE-CRA-Tab ↔ /sdk/cra (Readiness-Check) beidseitig verlinkt.
- CRACyberView in Unterkomponenten gesplittet (LOC < 300).

scripts/qa/poc_cra_article_assign.py: PoC Artikel/Absatz-Zuordnung (Pfad B2b,
zurückgestellt — nicht MVP).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
Benjamin Admin
2026-06-15 00:48:53 +02:00
parent 6a6c2dbcaa
commit e1f89f6226
8 changed files with 620 additions and 297 deletions
+14
View File
@@ -102,6 +102,20 @@ export default function CRAProjectsPage() {
<ReadinessCheck onCreateProject={() => setShowModal(true)} />
{/* Bridge: vom Readiness-Check in die kombinierte CE × Cyber-Analyse */}
<a
href="/sdk/iace/e79921be-c78a-47ab-8dfa-5fa48ba8a34a/cra"
className="mb-6 block rounded-xl border border-orange-300 bg-orange-50 p-5 hover:border-orange-400 hover:bg-orange-100 transition-colors"
>
<h3 className="text-base font-semibold text-gray-900">
Cyber trifft Safety kombinierte CE × Cyber-Analyse ansehen
</h3>
<p className="text-sm text-gray-600 mt-1">
Am Beispielprojekt Kistenhubgerät": wo ein Cyber-Risiko eine bereits gemilderte
CE-Gefährdung wieder öffnet — mit Management-Übersicht, Risiken und Maßnahmen. →
</p>
</a>
<div className="mb-4 px-4 py-2 bg-emerald-50 border border-emerald-200 rounded-lg text-xs text-emerald-800 flex items-start gap-2">
<span className="font-semibold">Quellen &amp; Lizenz:</span>
<span>