feat: schwerwiegende KI-Funde dürfen ROT auslösen (konfigurierbar)

Bisher war das KI-Level hart auf Gelb gedeckelt — auch injizierte
Pornografie oder strafbare/diffamierende Inhalte lösten nie Rot aus.
Das unterschätzt echte Notfälle (Sicherheits- + Rechts-/Reputationsrisiko).

Neu: kategoriebasierter Grave-Override in score_ai_findings. Nur Kategorien
aus red_categories (default ["pornography","defamation_illegal"]) lösen Rot
aus, und nur bei Schwere ≥ red_min_severity (high) UND Konfidenz ≥
red_min_confidence (0.9). Alle anderen Kategorien (Spam, Off-Topic,
Propaganda, Widerspruch) bleiben höchstens Gelb. Die Punktsumme allein
ergibt weiterhin nie Rot. red_categories: [] stellt das alte Verhalten her.

Begründung für die konservative Schwelle: LLM-Konfidenzen sind nicht
perfekt kalibriert — nur die gravierendsten Fälle dürfen die volle
ROT-Dringlichkeit ("Dienstleister informieren, nichts freigeben") tragen.

Rot fließt über die bestehende _worst_level-Verdrahtung automatisch ins
Gesamt-Level + Exit-Code 2; gilt auch für Bildfunde (OCR).

Tests: 237 grün (+7 Rot-Gate, bestehender Cap-Test auf Punktsumme-Logik
umgestellt). Config + Template + README + Bedienungsanleitung aktualisiert.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Dieter Schlüter 2026-06-13 01:16:23 +02:00
commit a8dcaabf7c
6 changed files with 98 additions and 15 deletions

View file

@ -233,8 +233,11 @@ Verdikt im Cache (`data/ai_ledger.json`) → **kein API-Call**. Nur neue oder ge
Inhalte lösen eine (günstige) OpenRouter-Abfrage aus. Dadurch läuft die Analyse bei jedem
Scan mit und kostet an den meisten Tagen 0 €.
KI-Funde sind **auf Gelb gedeckelt** — sie lösen nie allein ROT aus (das bleibt harten
Integritäts-Signalen vorbehalten). Fehlt der API-Key oder schlägt eine Abfrage fehl, wird
KI-Funde sind **auf Gelb gedeckelt** — mit einer Ausnahme: die schwerwiegendsten Kategorien
(Pornografie, strafbar/diffamierend) lösen bei **hoher Schwere + hoher Konfidenz** ROT aus.
Alle übrigen Kategorien (Spam, Off-Topic, Propaganda, Widerspruch) bleiben höchstens Gelb.
Steuerbar über `red_categories` / `red_min_severity` / `red_min_confidence` (leere
`red_categories: []` = nie Rot aus KI). Fehlt der API-Key oder schlägt eine Abfrage fehl, wird
die Analyse übersprungen und der Scan läuft unverändert weiter.
**„Nicht geprüft" ≠ „sauber":** Kann ein Inhalt trotz Modell-Eskalation und Wiederholung