This commit is contained in:
2026-08-07 08:33:41 +02:00
parent d088eb0a47
commit 246241fcda
419 changed files with 11924 additions and 203 deletions
+36
View File
@@ -0,0 +1,36 @@
# Validierung: Research-Orchestrierung
Geprüfte Punkte:
- Query-Normalisierung entfernt sowohl ungültige als auch gültige `site:`-Filter.
- `preferred_domains` beeinflusst keine SearXNG-Query mehr.
- Semantische Deduplizierung verwendet die Cosinus-Ähnlichkeit der Research-Intent-Embeddings; der Fallback arbeitet deterministisch über normalisierte Terme.
- Ein zweiter paralleler Intent kann auf das Ergebnis eines laufenden Owners warten, statt erneut Webrecherche zu starten.
- Die gemeinsame Work-Queue begrenzt aktive Operationen und die maximale Zahl wartender Aufträge.
- Ollama Chat und Embedding verwenden denselben Limiter wie SearXNG-Suche und Volltext-Fetch.
- `BRAIN_ARTICLE_LANGUAGE=en-US` erzeugt englische Abschnittsüberschriften im formatierten Antwortteil; `de-DE` behält die deutschen Überschriften.
- JavaScript des Analysis Centers ist syntaktisch valide und zeigt Shared-Queue-/Dedupe-Zähler.
Lokale Prüfung in der Entwicklungsumgebung:
```text
go test ./internal/config ./internal/research ./internal/ollama ./internal/workqueue
PASS
go test ./internal/engine -run '<Research-/Language-Regressiontests>'
PASS
go test ./... -run '^$'
PASS (Compile-Check mit lokalem SQLite-Stub)
node --check internal/web/static/analysis.js
PASS
```
Die Projektdatei deklariert Go 1.26. In der Build-Umgebung steht nur Go 1.23.2 ohne Internetzugriff zur Verfügung. Für den Compile-Check wurde deshalb ausschließlich die Go-Direktive temporär auf 1.23 gesetzt und `modernc.org/sqlite` durch einen leeren lokalen Compile-Stub ersetzt. Diese temporären Teständerungen sind nicht Bestandteil des Releases.
## Zusätzliche Regressionen
- Dedupe-Namespaces verhindern, dass Relations-Snippets mit vollständiger Artikel-Evidenz verwechselt werden.
- Wartende Duplikate werden nach einem Fehler des ersten Owners erneut als Owner eingeplant, statt einen leeren Erfolg zu übernehmen.
- Relationsrecherche verwendet offene Queries und bis zu 8–12 Treffer statt der früheren vier.