feat(cra): 'Projekt anlegen' triggert IACE-Auto-Ableitung (/initialize)

Nach dem Setzen der limits_form ruft createProject jetzt POST /iace/projects/
:id/initialize — IACE liest die limits_form als Narrative → Komponenten →
Gefährdungen → Maßnahmen → Verifikation → Normen (idempotent, best-effort).
Navigiert danach auf die Projekt-Übersicht (Risiko-Summary). Interview-Felder
bleiben editierbar, Ableitung im IACE re-triggerbar. Schliesst die Kette
Datenblatt → Grenzen → Gefährdungen/Maßnahmen.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
Benjamin Admin
2026-06-17 08:25:06 +02:00
parent fda94afd5f
commit b76f3cee48
@@ -76,7 +76,15 @@ export function DatasheetExtract() {
method: 'PUT', headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ metadata: { limits_form: limits } }),
})
router.push(`/sdk/iace/${pid}/interview`)
// Auto-derive: IACE reads the limits_form as narrative → components →
// hazards → measures → norms. Idempotent + best-effort; can be (re-)run
// in the IACE module. The interview limits stay fully editable.
try {
await fetch(`/api/sdk/v1/iace/projects/${pid}/initialize`, {
method: 'POST', headers: { 'Content-Type': 'application/json' },
})
} catch { /* idempotent — re-runnable in IACE */ }
router.push(`/sdk/iace/${pid}`)
} finally { setCreating(false) }
}
@@ -168,16 +176,17 @@ export function DatasheetExtract() {
<div className="flex flex-wrap items-center gap-3">
<button onClick={createProject} disabled={creating}
className="rounded bg-indigo-600 hover:bg-indigo-700 disabled:opacity-50 text-white text-sm px-4 py-2">
{creating ? 'Lege an …' : 'IACE-Projekt anlegen (Grenzen übernehmen)'}
{creating ? 'Lege an & leite ab …' : 'IACE-Projekt anlegen → Gefährdungen ableiten'}
</button>
<span className="text-xs text-gray-500">
Übernimmt Grenzen + Antworten als <span className="font-medium">editierbaren Entwurf</span> ins
IACE-Interview jedes Feld bleibt änderbar. Manuelles Anlegen weiterhin über{' '}
<a href="/sdk/iace" className="text-indigo-600 hover:underline">iACE</a>.
Übernimmt Grenzen + Antworten als <span className="font-medium">editierbaren Entwurf</span> und leitet
daraus automatisch Komponenten, Gefährdungen und Maßnahmen ab jedes Feld bleibt im Interview änderbar.
Manuelles Anlegen weiterhin über <a href="/sdk/iace" className="text-indigo-600 hover:underline">iACE</a>.
</span>
</div>
<p className="text-xs text-gray-400 italic">
Aus den Grenzen leitet IACE anschließend Gefährdungen und Maßnahmen ab (Entwurf Bestätigung mit Sicherheitsingenieur).
Entwurf zur Bestätigung mit Sicherheitsingenieur; im IACE-Interview kann jedes Feld geändert und die
Ableitung neu ausgelöst werden.
</p>
</div>
)}