1.5.6
release-tag / release-image (push) Successful in 6m12s

This commit is contained in:
2026-08-27 12:17:51 +02:00
parent 2754f00556
commit f7f3460f6c
18 changed files with 1862 additions and 60 deletions
+10
View File
@@ -36,3 +36,13 @@ Vor Go-Live mit autonomem Research zusätzlich verifizieren:
4. `research_authoritative_sources >= 1` und `quality_gate_version=staging-v2` sind im Draft vorhanden.
5. Ein absichtlich nicht belegter Versions-/Errorcode im Synthese-Test wird fail-closed abgewiesen.
6. Ein Blog-/Forum-only Evidence-Set erzeugt bei aktiviertem Authority-Gate keinen Staging-Artikel.
## v1.5.6 Structured-Output Zusatzgate
Für einen realen Research→Staging-Smoke-Test zusätzlich verifizieren:
1. Ein Windows-/Registry-lastiges Testziel erzeugt keine `invalid ... string escape code`-Fehler.
2. Staging-Synthese und Claim-Verifikation bleiben bei nicht reparierbarem JSON fail-closed.
3. Der resultierende Draft enthält weiterhin `human_review_required=true` und `auto_reply=false`.
4. Source-Authority und Claim-Verifikation aus v1.5.5 bleiben bestanden; JSON-Robustheit darf diese Gates nicht umgehen.
+17
View File
@@ -0,0 +1,17 @@
# Migration v1.5.5 → v1.5.6
v1.5.6 is a drop-in structured-output hardening release. No storage migration is required. Existing goals, memories, synapses, research history and staging drafts remain intact.
1. Build/publish the v1.5.6 images through the normal Gitea pipeline.
2. Set `IMAGE_TAG=1.5.6`.
3. Pull and recreate NeuroForge and its worker:
```bash
docker compose --profile research pull neuroforge neuroforge-worker
docker compose --profile research up -d --force-recreate neuroforge neuroforge-worker
```
4. Do not delete volumes.
5. Re-run the previously blocked goal. Existing evidence can be reused; a reset is not necessary.
There are no new mandatory environment variables. Ollama JSON mode is selected internally only for structured-output calls.
+20
View File
@@ -0,0 +1,20 @@
# GLPI NeuroForge Mega v1.5.6
v1.5.6 hardens structured LLM output after a live BitLocker staging test exposed `invalid character \\ in string escape code` even after the syntax-repair pass. The failure was caused by local-model JSON strings containing literal Windows/registry/Markdown backslashes that were not valid JSON escapes.
## Structured-output hardening
- **Provider-native JSON mode:** Ollama structured calls for staging synthesis, syntax repair, claim verification and grounded rewrite now send `format: "json"`.
- **Strict schema decoding:** structured objects reject unexpected fields instead of silently accepting arbitrary model-added keys; arbitrary prose surrounding an object is no longer stripped/accepted.
- **Narrow deterministic escape repair:** when strict decoding fails, NeuroForge may preserve a literal backslash by JSON-escaping it only when it occurs inside a JSON string and is followed by a character that JSON does not define as an escape.
- **Valid escapes are untouched:** `\\`, `\"`, `\n`, `\t`, `\r`, `\/` and valid `\uXXXX` escapes retain their JSON semantics.
- **Fail-closed remainder:** malformed quoting, control characters, multiple JSON values, invalid code fences, unknown schema fields and other syntax defects are not broadly normalized. They either enter the single bounded syntax-repair pass or fail staging.
- **Shared verifier protection:** the same strict decoder/escape handling protects claim-verifier JSON and grounded rewrite JSON, not just the first synthesis response.
## Production-quality gates retained
All v1.5.5 source-authority, authoritative-action, claim-coverage, contradiction and human-review-only promotion gates remain enabled. This release changes structured transport/parsing robustness; it does not weaken evidence validation.
## Regression coverage
Tests cover Windows paths such as `C:\Windows\System32`, registry-like paths, a model-emitted backslash before a Markdown backtick, unknown schema fields, Markdown fences, missing outer braces, one bounded repair call and Ollama native JSON mode.