Files
breakpilot-compliance/docs-src/architecture/06-assessment.md
T
Benjamin Admin a3053c3c86
CI / detect-changes (push) Successful in 14s
CI / branch-name (push) Has been skipped
CI / guardrail-integrity (push) Has been skipped
CI / secret-scan (push) Has been skipped
CI / dep-audit (push) Has been skipped
CI / sbom-scan (push) Has been skipped
CI / build-sha-integrity (push) Successful in 9s
CI / validate-canonical-controls (push) Successful in 19s
CI / loc-budget (push) Successful in 23s
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / nodejs-build (push) Has been skipped
CI / test-go (push) Has been skipped
CI / iace-gt-coverage (push) Has been skipped
CI / test-python-backend (push) Has been skipped
CI / test-python-document-crawler (push) Has been skipped
CI / test-python-dsms-gateway (push) Has been skipped
docs(architecture): RAG retrieval engine architecture set (01-09)
9 docs + index in docs-src/architecture/ documenting the deterministic
retrieval engine: retrieval pipeline, authority rerank, source_class,
source_role, control-intent + diversity, assessment, confidence,
explainability + supersede, framework_* layer. Each doc carries the exact
constants, the rationale behind them, code refs, and the failure class
it addresses. Audit/onboarding reference.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-25 09:25:22 +02:00

2.2 KiB

06 — Assessment

Zweck: Eine auditierbare Begründungsschicht über die gerankten Ergebnisse. Sie macht aus einer Trefferliste eine prüfbare Aussage: Welche Norm ist primär, welche hängen daran, wie eindeutig ist das, braucht es einen Menschen?

Mechanik

Assess() (legal_rag_assess.go) nimmt die bereits gerankten results []LegalSearchResult und baut ein LegalAssessment:

Feld Inhalt
PrimaryNorm CitationUnit bzw. ArticleLabel des Top-Treffers
PrimaryRegulation RegulationShort des Top-Treffers
ConnectedNorms verbundene Normen (references_out + references_in), gekappt + dedupliziert
CrossRegime ob mehrere Regulierungen in den Top-N liegen
WinnerMargin Score-Abstand Top-1 ↔ Top-2 (Proxy für Eindeutigkeit)
HumanReviewFlag true bei niedriger Eindeutigkeit
ScoreReasoning kurze deutsche Begründung

Konstanten + Warum

Konstante Wert Warum
assessConnectedCap 12 Obergrenze der in der Assessment gezeigten verbundenen Normen — verhindert, dass ein stark vernetzter Artikel die Begründung flutet
assessCrossRegimeTopN 5 Fenster, über das „Cross-Regime" (mehrere Regulierungen) beurteilt wird
assessReviewMargin 0.05 enger Winner-Abstand → Human-Review-Flag (siehe 07)

Human-Review-Logik

HumanReviewFlag wird true, wenn eine der Bedingungen gilt:

  • WinnerMargin < 0.05 — Top-1 und Top-2 liegen zu dicht beieinander (uneindeutig),
  • CrossRegime == true — mehrere Regimes betroffen (z.B. DSGVO + CRA),
  • der Primär-Treffer ist nicht binding_law — eine Rechtsaussage ohne bindende Primärquelle.

Das ist die deterministische Eskalations-Schwelle: das System sagt von sich aus „hier sollte ein Mensch drauf schauen", statt scheinbare Sicherheit vorzutäuschen.

Code

  • legal_rag_assess.goAssess(), primaryLabel()

Adressierte Fehlerklassen

  • „uneindeutige Antwort wird als sicher verkauft"WinnerMargin + HumanReviewFlag.
  • „Cross-Regime übersehen"CrossRegime über assessCrossRegimeTopN.
  • „Rechtsaussage ohne bindende Quelle" → Flag bei nicht-bindendem Primär-Treffer.