Files
breakpilot-compliance/docs-src/architecture/08-explainability.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.4 KiB

08 — Explainability, Zitate + Supersede

Zweck: Jedes Ergebnis muss sich belegen lassen — woher es kommt, womit es verbunden ist, und ob es noch gilt. Das ist die Grundlage für Zitierfähigkeit und für die spätere Citation-Gating-Logik.

Zitate + Graph-Kanten

Aus der Qdrant-Payload geladen (Phase-2-Graph-Metadaten):

Feld Inhalt Verwendung
CitationUnit kanonischer Artikel-/Anhang-Identifier Dedup, Primärnorm-Label
article_label menschenlesbare Fundstelle (z.B. „Art. 13 CRA") Anzeige, Begründung
citation_style Zitierformat-Marker Anzeige
references_out Normen, die dieser Chunk zitiert (Forward-Kanten) Graph-Expansion (01) + ConnectedNorms
references_in Normen, die diesen Chunk zitieren (Reverse-Kanten) nur Metadaten — nicht expandiert (Flutungsschutz)

Assess() (06) verdichtet die Kanten zu ConnectedNorms — so wird sichtbar, dass z.B. Art. 13 CRA auf Anhang I verweist (die eigentliche Pflichtquelle).

Supersede-Handling

Recht ändert sich; ein veralteter Stand darf den aktuellen nicht schlagen — aber Übergangs-/History-Fragen müssen ihn noch finden.

Mechanik Wert / Feld Verhalten
Erkennung Payload status == "superseded"Superseded-Flag markiert die abgelöste Alt-Quelle
Demotion supersededPenalty = 0.50 (authorityScore, 02) konsequente Zurückstufung
Philosophie „Alt-Quelle demoted (nicht versteckt) — Default-Fragen sehen die eu-v1-Norm, History bleibt auffindbar"

Nicht entfernt, nur bestraft: Eine abgelöste Norm kann bei einer expliziten History-Frage trotzdem hoch ranken — sie wird nur konsistent demoted, nicht ausgeblendet. Das ist dieselbe „Reihenfolge, nichts löschen"-Linie wie beim Authority-Rerank.

Code

  • legal_rag_client.go → Payload-Mapping (references_out/in, status)
  • legal_rag_graph.go → Forward-Kanten-Expansion, Reverse-Kanten als Metadaten
  • legal_rag_assess.goConnectedNorms
  • authority_rerank.gosupersededPenalty

Adressierte Fehlerklassen

  • „Aussage ohne Fundstelle"CitationUnit / article_label.
  • „Pflichtquelle hinter Verweis versteckt" → Forward-Kanten-Expansion (Art. 13 → Anhang I).
  • „veralteter Rechtsstand gewinnt"supersededPenalty, aber auffindbar.