SEM-05: Quellenverweise & Zitat-Nachvollziehbarkeit #239

Merged
patrick merged 1 commits from feature/sem-05-quellenverweise-zitat-nachvollziehbarkeit into main 2026-09-28 02:58:14 +02:00
Owner

Zusammenfassung

  • docchat.Answer.Citations: jede Antwort mit Treffern führt Quellenverweise (Index passend zur Klammer-Nummerierung im Prompt, Source-Koordinaten). Unbelegte Antworten (NoEvidence) führen keine Citations.
  • docchat.Service.ResolveCitation + neue vectorindex.Store.GetChunk: Sprung eines Zitat-Verweises zurück zum tatsächlich im Index gespeicherten Abschnitt.

Durchgeführte Prüfungen (Ergebnis)

  1. Quellenverweis an Testfrage stichprobenartig nachvollzogen — bestanden: reale Antwort (gpt-oss:20b) zu "Wie lang ist die Kündigungsfrist?" zitiert [1], Citations[0] zeigt exakt auf den Treffer, aus dem die Antwort stammt.
  2. Sprung zum Originalabschnitt im Test funktionsfähig — bestanden: ResolveCitation/GetChunk liefern gegen echte Postgres-DB denselben Abschnittstext zurück, der ursprünglich indexiert wurde; ein nicht mehr auflösbarer Verweis wird über ErrChunkNotFound gemeldet statt stillschweigend verworfen.
  3. Unbelegte Antwort im Test korrekt gekennzeichnet — bestanden: ohne Treffer weder Citations noch Modelltext, nur der feste NoEvidenceAnswer-Hinweis mit NoEvidence = true.

Details siehe ai/docs/SEM-05-PRUEFPROTOKOLL.md. Volle Regression (go build ./..., go vet ./..., alle Tests in internal/docchat und internal/vectorindex) grün auf Testhost 192.168.1.204.

Kein Merge, kein Deploy.

🤖 Generated with Claude Code

## Zusammenfassung - `docchat.Answer.Citations`: jede Antwort mit Treffern führt Quellenverweise (Index passend zur Klammer-Nummerierung im Prompt, Source-Koordinaten). Unbelegte Antworten (`NoEvidence`) führen keine Citations. - `docchat.Service.ResolveCitation` + neue `vectorindex.Store.GetChunk`: Sprung eines Zitat-Verweises zurück zum tatsächlich im Index gespeicherten Abschnitt. ## Durchgeführte Prüfungen (Ergebnis) 1. Quellenverweis an Testfrage stichprobenartig nachvollzogen — **bestanden**: reale Antwort (gpt-oss:20b) zu "Wie lang ist die Kündigungsfrist?" zitiert `[1]`, `Citations[0]` zeigt exakt auf den Treffer, aus dem die Antwort stammt. 2. Sprung zum Originalabschnitt im Test funktionsfähig — **bestanden**: `ResolveCitation`/`GetChunk` liefern gegen echte Postgres-DB denselben Abschnittstext zurück, der ursprünglich indexiert wurde; ein nicht mehr auflösbarer Verweis wird über `ErrChunkNotFound` gemeldet statt stillschweigend verworfen. 3. Unbelegte Antwort im Test korrekt gekennzeichnet — **bestanden**: ohne Treffer weder Citations noch Modelltext, nur der feste `NoEvidenceAnswer`-Hinweis mit `NoEvidence = true`. Details siehe `ai/docs/SEM-05-PRUEFPROTOKOLL.md`. Volle Regression (`go build ./...`, `go vet ./...`, alle Tests in `internal/docchat` und `internal/vectorindex`) grün auf Testhost 192.168.1.204. Kein Merge, kein Deploy. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
patrick added 1 commit 2026-09-28 02:31:08 +02:00
SEM-05: quellenverweise & zitat-nachvollziehbarkeit
CI / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (pull_request) Canceled after 0s
CI / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (push) Canceled after 0s
CI / Core-Modul (Build/Vet/Test) (push) Canceled after 0s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (push) Canceled after 0s
CI / Connect Security-Test-Gate (QA-01 AC4, Merge-Gate) (push) Canceled after 0s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (push) Canceled after 0s
CI / Web (dms-browser) (push) Canceled after 0s
CI / Web (pdf-viewer) (push) Canceled after 0s
CI / Web (shl) (push) Canceled after 0s
Supply-Chain-Scan (Go) / govulncheck (push) Canceled after 0s
AI-Pflichttest-Gate / pflichttest-gate (pull_request) Canceled after 0s
CI / Core-Modul (Build/Vet/Test) (pull_request) Canceled after 0s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (pull_request) Canceled after 0s
CI / Connect Security-Test-Gate (QA-01 AC4, Merge-Gate) (pull_request) Canceled after 0s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (pull_request) Canceled after 0s
CI / Web (dms-browser) (pull_request) Canceled after 0s
CI / Web (pdf-viewer) (pull_request) Canceled after 0s
CI / Web (shl) (pull_request) Canceled after 0s
Core-Schnittstellen-Vertragstests / contract-tests (pull_request) Canceled after 0s
Supply-Chain-Scan (Go) / govulncheck (pull_request) Canceled after 0s
Supply-Chain-Scan (npm) / npm-audit (pull_request) Canceled after 0s
Core-Pflichttest-Gate / pflichttest-gate (pull_request) Canceled after 0s
RBAC-Rollenhierarchie-Pflichtgate / rbac-policy-invariant (pull_request) Canceled after 0s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (push) Canceled after 0s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (pull_request) Canceled after 0s
5a0c11fc0d
Citations je Chat-Antwort (docchat.Answer.Citations) mit Klammer-
Nummerierung passend zum Prompt, ResolveCitation loest einen Verweis
auf den tatsaechlich im Index gespeicherten Abschnitt auf
(vectorindex.Store.GetChunk). Unbelegte Antworten fuehren keine
Citations.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
patrick merged commit b8b1b7bdcc into main 2026-09-28 02:58:14 +02:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: scripte/nexarch#239