Files
glpi-neural-brain/VALIDATION-PRODUCTION-READINESS-V1.2.md
jbergner 440423c5b6
All checks were successful
release-tag / release-image (push) Successful in 2m43s
RC-3
2026-08-09 11:29:13 +02:00

4.1 KiB
Raw Permalink Blame History

Validation Production Readiness v1.2

Ausgangsdaten

Der reale Testbestand zeigte unter anderem:

  • 50/50 Security-Lifecycles sauber abgeschlossen, kausal exakt +50 Nodes / +50 Edges / +50 Vektoren.
  • 21.341 Vektoren bei 21.351 vektorberechtigten Nodes: 10 Relation-Research-Nodes ohne Embedding.
  • Zwei Staging-Artikel. Ein HAProxy-Artikel war thematisch kohärent; ein Water-Leak-Artikel enthielt acht Quellen aus Water Leak Detection, Triple Extortion und BGP Prefix Filtering.
  • Der Water-Leak-Artikel hatte beim Erzeugen acht synthesized_from- und eine proposes_merge-Edge; ein späterer Staging-Reimport löschte exakt diese neun Runtime-Provenienz-Edges.
  • Learning-Run-Mutationen wurden durch graph.updated + Terminalsnapshot doppelt gezählt.

Diese Befunde wurden als Regressionstests bzw. deterministische Readiness-Invarianten umgesetzt.

Validierung

Die Release-Quellen bleiben auf Go 1.26 und dem echten modernc.org/sqlite. Die lokale Offline-Umgebung stellt nur Go 1.23 bereit; Compile-/Unit-Validierung erfolgt deshalb in einer separaten Kopie mit einem compile-only SQLite-Stub. Der Release-Tree enthält diesen Stub nicht.

Erfolgreich ausgeführt:

  • Topic-Guard-Tests für Water Leak / Triple Extortion / BGP.
  • Shared-Seed-Test: gemeinsamer generischer Hub darf den Topic-Guard nicht umgehen.
  • deterministischer Draft-Coherence-Gate: beobachteter Water-Leak-Mix wird verworfen; ein einzelner Supporting-Outlier in einem HAProxy-Artikel bleibt erlaubt.
  • Graph-Test: Legacy-Runtime-Provenienz überlebt Staging-Reimport.
  • Graph-Test: echte Artikellöschung cascadiert Runtime-Provenienz und hinterlässt keine dangling Edges.
  • Graph-Test: Legacy-Artikelstruktur (generation_depth, source_node_ids, Fingerprint) bleibt bei Reimport erhalten.
  • Analysis-Test: parallele Artikel bleiben über native Run-IDs getrennt.
  • Analysis-Test: Cluster-Scheduling wird nicht einem offenen Artikelrun zugerechnet.
  • Analysis-Test: Learning-Terminalmutationen werden exakt einmal gezählt.
  • projektweite Typkompilierung go test ./... -run '^$'.
  • go vet ./....
  • vollständige ausführbare Tests für internal/activity, internal/config, internal/research, internal/ollama, internal/workqueue.
  • Race Detector für Activity, Article-Run-Rekonstruktion, Learning-Mutationsbilanz und Topic-Guard.
  • node --check für analysis.js, source-agents.js, app.js.
  • YAML-Parsing für docker-compose.yml, deployment/docker-compose.full.yml, deployment/docker-compose.source-agent.yml.

Erwartete Invarianten nach Upgrade

  1. Readiness Embedding-Konsistenz: exakt vector_rows == vector_eligible_nodes, nur 768D.
  2. Readiness Artikel-Provenienz / Topic-Coherence: grün, nachdem bekannte Alt-Mixed-Topic-Entwürfe quarantänisiert wurden.
  3. Ein erfolgreich erzeugter Artikelrun meldet kausal seinen Artikel-Node, seine Provenienz-Edges und sein Artikel-Embedding; keine fremden Parallelmutationen.
  4. Learning-Bootstrap-Mutationen erscheinen nur einmal in der Workflow-Bilanz.
  5. Neue Relation-Research-Nodes erhalten sofort ein Embedding; vorhandene Lücken werden durch embedding.external_repair.completed geschlossen.
  6. article.cluster.started enthält topic_guard=strict-v2 und topic_labels.
  7. Parallel laufende Artikel haben unterschiedliche article-... Run-IDs und genau ein Terminalevent.
  8. Nach Staging-Reimport bleiben synthesized_from, proposes_*, Generation Depth und Source-IDs erhalten.

Bewusst nicht behauptet

Ein vollständiger Go-Runtime-Test gegen den echten modernc.org/sqlite-Treiber kann in der Offline-Go-1.23-Umgebung weiterhin nicht ausgeführt werden. Der endgültige Runtime-Nachweis erfolgt auf der Zielumgebung mit Go 1.26. Deshalb ist v1.2 ein Release Candidate; Go/No-Go wird anhand des Readiness-Panels und eines neuen Analyseexports entschieden.

  • Analysis-Test: unkeyed Artikel-/Inbox-Telemetrie wird nicht mehr per Zeitnähe an einen offenen Workflow gehängt.
  • Legacy-Strukturtest: Generation Depth und Fingerprint überleben einen Reimport ohne ai_think im alten Staging-JSON.
  • finale projektweite Typkompilierung und go vet nach Grounding-Mutationshärtung erneut erfolgreich.