# Validation: Autonomous Research ## Durchgeführt - `node --check internal/web/static/app.js` - YAML-Parsing von `docker-compose.yml` und `deployment/docker-compose.full.yml` - vollständige Go-Typkompilierung aller Pakete - `go vet ./...` - statischer Linux-amd64-Buildpfad - Config-Tests für alle Autonomous-Research-Variablen und fehlendes `SEARXNG_URL` - Unit-Tests für Graph-Opportunity-Priorisierung, exakte Thinking-Source-Filter, DE/EN-Queryplanung, Runden und stabile Deduplizierung - Ollama-Pool-Test: Low-Priority-Waiter darf einen bereits wartenden Normal-Priority-Aufruf nicht überholen - JavaScript-/HTML-ID-Abgleich für alle neuen WebUI-Bedienelemente - Parsing der aktualisierten Agent- und Knowledgebase-Integrationspatches mit `git apply --stat` - SQL-Lifecycle mit SQLite: Schema, 26-spaltiger Insert, Lease, `reserved → running → completed`, Attempt-Historie und Foreign Keys - Kontrolle, dass `go.mod` ausschließlich `modernc.org/sqlite v1.37.1` verwendet und kein Test-Replace ausgeliefert wird ## Einschränkung der Buildumgebung Der Zugriff auf `proxy.golang.org` war in der Ausführungsumgebung durch DNS-/Netzwerkregeln blockiert. Der echte `modernc.org/sqlite`-Modulcode konnte deshalb hier nicht erneut heruntergeladen und ausgeführt werden. Für Typkompilierung, `go vet` und den statischen Build wurde ausschließlich temporär außerhalb des Projekts ein API-kompatibler Compile-Stub verwendet. `go.mod` und `go.sum` wurden anschließend unverändert wiederhergestellt. Das ausgelieferte Projekt enthält keinen Stub und keinen `replace`-Eintrag. Die SQL-Statements der neuen Queue wurden zusätzlich mit der lokalen SQLite-Laufzeit von Python ausgeführt. Auf dem Zielsystem sollte nach dem Entpacken abschließend ausgeführt werden: ```bash go test ./... go vet ./... docker compose up -d --build --force-recreate brain ``` ## Erwartete Runtime-Prüfung ```bash curl -s http://localhost:8090/api/status | jq '.autonomous_research, .ollama_pool | {autonomous_research: .autonomous_research, ollama_pool: .ollama_pool}' curl -s http://localhost:8090/api/research/tasks | jq ``` In `ollama_pool` werden zusätzlich `normal_waiters` und `low_priority_waiters` gemeldet.