Files
glpi-neural-brain/VALIDATION-QUEUE-LIFECYCLE-FIX.md
2026-08-07 17:05:03 +02:00

1.5 KiB

Validierung Queue/Lifecycle

Geprüfte Regressionen:

  • Mehrere article.research.fetch.started/completed mit derselben research_id ergeben genau einen Research-Lauf.
  • Wiederholte Root-Start-Events derselben Run-ID duplizieren activeOrder nicht.
  • research.ingested beendet einen neuen Relationslauf nicht vor dem expliziten research.completed.
  • Alte Relationsläufe mit research.results, aber ohne Terminal bleiben nach der Grace-Period nicht dauerhaft running.
  • Der gemeinsame Work-Limiter zählt Active/Waiting separat nach Operationstyp und Release ist idempotent.
  • Ein zweiter Ollama-Request, der auf einen belegten Node wartet, verbraucht keinen gemeinsamen Work-Slot; ein SearXNG-Slot bleibt verfügbar.
  • Eine ältere, langsamere SearXNG-Anfrage kann den Diagnosestatus einer neueren bereits abgeschlossenen Anfrage nicht überschreiben.
  • Ein Paralleltest mit 16 gleichzeitigen EnqueueResearchTask-Aufrufen für denselben dedupe_key erwartet exakt eine neu angelegte Aufgabe (Test ist für den echten SQLite-Treiber enthalten; lokal konnte er wegen des Compile-only-Stubs nicht ausgeführt werden).
  • node --check internal/web/static/analysis.js erfolgreich.

Die Projektdatei verlangt Go 1.26, während die Validierungsumgebung Go 1.23 ohne externen Modulzugriff bereitstellt. Die projektweite Typkompilierung und go vet ./... wurden daher in einer temporären Kopie mit go 1.23 und einem lokalen compile-only Stub für modernc.org/sqlite ausgeführt. Der ausgelieferte Baum behält go 1.26 und modernc.org/sqlite v1.37.1 unverändert.