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>
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 Metadatenlegal_rag_assess.go→ConnectedNormsauthority_rerank.go→supersededPenalty
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.