# Validation – Production Readiness v1 ## Ausgeführt Die Release-Quellen bleiben unverändert auf Go 1.26 und `modernc.org/sqlite`. Die lokale Offline-Umgebung bietet nur Go 1.23; für Compile-/Unit-Validierung wurde deshalb ausschließlich eine separate Kopie auf Go 1.23 mit einem compile-only SQLite-Stub verwendet. Erfolgreich: - `go test ./internal/config -count=1` - `go test ./internal/activity -count=1` - Manifest-Fingerprint-Test in `internal/ingest` - fokussierte Engine-Tests für Bootstrap-Gate/-Recovery, Relations-Research-Gate und Security-Normalisierung - fokussierte Analysis-Tests für kausale Mutationen, Security-Reconciliation, parallele Query-Run-IDs und Embedding-Aggregation - projektweite Typkompilierung: `go test ./... -run '^$'` - `go vet ./...` - vollständige Tests für `internal/glpi`, `internal/ollama`, `internal/research`, `internal/workqueue` - Race-Detector für Broker, Bootstrap-Gate und Analysis-Run-Rekonstruktion - `node --check` für `analysis.js`, `app.js`, `source-agents.js` - YAML-Parsing für alle Compose-Dateien - SQLite-Sanity mit echter lokaler SQLite-Engine: Source-Agent-Schema, Claim-Recovery, candidate→queued→processing→done, Recovery-Requeue, append-only Analysis-Event-PK - `git diff --check` ## Bewusst nicht behauptet Ein vollständiger Go-Runtime-Test gegen den echten `modernc.org/sqlite`-Treiber konnte in dieser Offline-Umgebung nicht ausgeführt werden, weil die Release-Toolchain Go 1.26 nicht verfügbar ist. Die SQLite-Syntax und kritischen State-Transitions wurden separat mit einer echten SQLite-Engine geprüft; die Go-Packages wurden mit dem isolierten Compile-Stub typgeprüft. ## Go/No-Go nach Deployment Vor Aktivierung von Thinking sollte das Analyse-Dashboard folgende Bedingungen erfüllen: 1. `Startup-Bootstrap` = grün. 2. `Analyse-Audit` = grün, `dropped_events=0`. 3. `Embedding-Konsistenz` = grün, Coverage >= 99,5 %, genau 768 Dimensionen. 4. `Persistenz` = grün, keine failed flushes. 5. Ollama und Artikelmodelle = grün. 6. Source Inbox / Security = grün; `queued=0`, `processing=0` nach Abarbeitung. 7. Security-Run-Rekonstruktion = grün; keine Phantom-`running`-Runs. 8. Ein normal materialisierter Security-Lauf zeigt kausal ungefähr `+1 Node`, `+0/1 Edge`, `+1 Vector` – niemals die Initial-Embedding-Massen anderer Workflows. 9. Nach dem ersten Bootstrap sind unveränderte Learning-Scans Manifest-Fast-Path und sollten deutlich kürzer sein als der Bootstrap. 10. Erst danach Thinking aktivieren und einen weiteren Analyseexport ziehen.