37 lines
2.0 KiB
Markdown
37 lines
2.0 KiB
Markdown
# 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.
|