feat: Posteingang und Entscheiden für die Fachebene (Schritt 5 der Baureihenfolge)

Ebene 3 (Rollen verantwortlicher/pruefer) bekommt GET /faelle
(Posteingang aller offenen Anträge des Mandanten) und GET/POST
/faelle/{id} zum Entscheiden. Eine Entscheidung friert Regelwerk-,
Katalog- und den vollständigen Werkzeugdatensatz ein, verlangt eine
Begründung bei Abweichung vom abgeleiteten Vorschlag, erlaubt bei
Genehmigung nur ein durch die Bewertung zulässiges Werkzeug und
protokolliert die Entscheidung im Audit-Log. entscheidung ist
append-only wie bewertung.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
noroot
2026-08-29 12:26:51 +02:00
parent e968cf9761
commit d1e80dd19f
14 changed files with 1017 additions and 92 deletions

View File

@@ -14,60 +14,7 @@
<p><strong>Häufigkeit:</strong> {{.Haeufigkeit}}</p>
{{if .Bewertung}}
<h2>Bewertung</h2>
{{if .Bewertung.Verboten}}
<p class="fehler"><strong>Verboten.</strong> Diese Nutzung fällt laut Einstufung unter ein verbotenes KI-Praktiken-Muster der KI-VO ({{.Bewertung.Einstufung}}). {{.Bewertung.EinstufungHerleitung}}</p>
{{end}}
<p><strong>Datenklasse:</strong> {{.Bewertung.Datenklasse}}<br>
<span class="hinweis">{{.Bewertung.DatenklasseHerleitung}}</span></p>
<p><strong>KI-VO-Einstufung:</strong> {{.Bewertung.Einstufung}}<br>
<span class="hinweis">{{.Bewertung.EinstufungHerleitung}}</span></p>
{{if .Bewertung.Anforderungen}}
<h3>Anforderungen</h3>
<ul class="findings">
{{range .Bewertung.Anforderungen}}
<li class="finding finding-mittel">
<strong>{{.Beschreibung}}</strong>
<p>{{.Herleitung}}</p>
</li>
{{end}}
</ul>
{{end}}
{{if not .Bewertung.Verboten}}
<h3>Zulässige Werkzeuge</h3>
{{if .Bewertung.ZulaessigeWerkzeuge}}
<ul>
{{range .Bewertung.ZulaessigeWerkzeuge}}<li>{{.}}</li>{{end}}
</ul>
{{else}}
<p class="rueckfrage">Kein Werkzeug im Katalog erfüllt aktuell alle Anforderungen dieses Antrags.</p>
{{end}}
{{if .Bewertung.AusgeschlosseneWerkzeuge}}
<h3>Ausgeschlossene Werkzeuge</h3>
<ul class="findings">
{{range .Bewertung.AusgeschlosseneWerkzeuge}}
<li class="finding finding-niedrig">
<strong>{{.Name}}</strong>
<p>Nicht erfüllt: {{range $i, $a := .NichtErfuellt}}{{if $i}}, {{end}}{{$a}}{{end}}</p>
</li>
{{end}}
</ul>
{{end}}
{{end}}
<p class="disclaimer">
Das System entscheidet nicht. Es bereitet vor. Diese Einstufung ist ein
Vorschlag zur Herleitung von Datenklasse, KI-VO-Einstufung und
Anforderungen (Regelwerk {{.Bewertung.RegelwerkVersion}}, Katalog
{{.Bewertung.KatalogVersion}}, berechnet am {{.Bewertung.CreatedAt}}) —
die Entscheidung trifft ein Mensch.
</p>
{{template "bewertung-block" .Bewertung}}
{{else}}
<p class="hinweis">Die Bewertung wird berechnet, sobald der Antrag eingereicht ist.</p>
{{end}}