feat(agent): 4-Status-Modell (NOT_APPLICABLE/INSUFFICIENT_EVIDENCE/POSSIBLY_APPLICABLE) für Impressum

Kanonisches Compliance-Datenmodell, Impressum-Agent als Referenz:
- CheckStatus-Enum + Finding.status GETRENNT von severity (Verdikt ≠ Risiko)
- Unbestimmte Rechtsform (weder Text noch Wizard) → INSUFFICIENT_EVIDENCE (INFO)
  statt hartem HIGH-FAIL; legal_form_dependent-Gate + detect_legal_form_present
- §18-MStV-Graubereich (Corporate-Blog via has_editorial_content) →
  POSSIBLY_APPLICABLE (LOW Prüf-Hinweis); 3-stufig via scope_disposition
- Recommendations nur aus echten FAILs; mc_insufficient/mc_possibly-Aggregate
- Frontend: Verdikt-Pill + Coverage-Vokabular
- 19 neue Tests (test_four_status.py, AgentFindingCard); CI-Suite 204 grün,
  v3 25 / GT 13 unverändert

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
Benjamin Admin
2026-06-10 22:38:11 +02:00
parent 005a2ed711
commit 97575cc9c0
10 changed files with 473 additions and 12 deletions
@@ -16,6 +16,8 @@ const STATUS_COLOR: Record<string, string> = {
high: '#dc2626',
medium: '#f59e0b',
low: '#3b82f6',
insufficient_evidence: '#64748b',
possibly_applicable: '#ca8a04',
}
const STATUS_LABEL: Record<string, string> = {
@@ -25,6 +27,8 @@ const STATUS_LABEL: Record<string, string> = {
high: 'HIGH',
medium: 'MEDIUM',
low: 'LOW',
insufficient_evidence: 'unklar',
possibly_applicable: 'evtl. relevant',
}
export function AgentMcCoverage({ coverage }: { coverage: McCoverage[] }) {