1.5.9
release-tag / release-image (push) Successful in 11m0s

This commit is contained in:
2026-08-27 15:10:38 +02:00
parent 4902388ef1
commit 8c4ce2d6c2
15 changed files with 1921 additions and 134 deletions
+18 -1
View File
@@ -81,8 +81,15 @@ NEUROFORGE_KB_STAGING_AUTHORITATIVE_DOMAINS=
NEUROFORGE_KB_STAGING_VERIFY_CLAIMS=true
NEUROFORGE_KB_STAGING_MIN_CLAIM_COVERAGE=1.0
NEUROFORGE_KB_STAGING_REQUIRE_AUTHORITATIVE_ACTIONS=true
NEUROFORGE_KB_STAGING_MAX_VERIFICATION_STATEMENTS=24
NEUROFORGE_KB_STAGING_MAX_VERIFICATION_STATEMENTS=32
NEUROFORGE_KB_STAGING_VERIFICATION_REPAIR=true
NEUROFORGE_KB_STAGING_SYNTHESIS_MAX_TOKENS=2600
NEUROFORGE_KB_STAGING_EVIDENCE_PROMPT_MAX_CHARS=14000
NEUROFORGE_KB_STAGING_MIN_ARTICLE_CHARS=3500
NEUROFORGE_KB_STAGING_TARGET_ARTICLE_CHARS=6500
NEUROFORGE_KB_STAGING_MAX_ARTICLE_CHARS=10000
NEUROFORGE_KB_STAGING_MIN_ANSWER_CHARS=160
NEUROFORGE_KB_STAGING_MAX_ANSWER_CHARS=1200
```
`NEUROFORGE_KB_STAGING_URL` and `NEUROFORGE_KB_STAGING_TOKEN` are container-internal values owned by the root Compose file. The token is derived from the existing `KB_INTEGRATION_TOKEN`; do not duplicate it under a second operator-managed secret name.
@@ -104,3 +111,13 @@ Before an LLM-synthesized research article reaches human-review staging, NeuroFo
The verifier is fail-closed. Unsupported or contradicted statements prevent publication. With `NEUROFORGE_KB_STAGING_VERIFICATION_REPAIR=true`, one evidence-only rewrite is attempted and the complete draft is then verified again. The repair may remove unsupported content but may not add outside knowledge. Source authority, claim-level evidence IDs, coverage, contradictions and whether a repair occurred are persisted in the staging JSON for human audit.
Microsoft Q&A (`learn.microsoft.com/.../answers/...`) is intentionally treated as vendor-community rather than primary documentation. Operator-specific first-party domains can be added with `NEUROFORGE_KB_STAGING_AUTHORITATIVE_DOMAINS`.
### Article depth gate (v1.5.9)
`text` is the canonical full knowledge article. `answer` is intentionally a shorter operational summary for downstream reply use. Production defaults require the full article to contain at least 3,500 characters and target about 6,500 characters without exceeding 10,000. If the first grounded synthesis is shorter or otherwise outside the configured bounds, NeuroForge performs one evidence-only article-depth rewrite. It may reorganize and expand supported detail but may not add outside knowledge or filler. The rewritten draft is then identifier- and claim-verified again.
The synthesis call, syntax repair and grounding rewrite use `NEUROFORGE_KB_STAGING_SYNTHESIS_MAX_TOKENS` rather than the old hard-coded 1,200/1,400 token limits. `NEUROFORGE_KB_STAGING_EVIDENCE_PROMPT_MAX_CHARS` fairly budgets evidence text across selected sources so the local-model context still has room for a full article. With the Mega Compose, keep `NEUROFORGE_OLLAMA_NUM_PREDICT=0` so the call-specific staging budget is not overridden by a lower persisted Ollama value.
Claim verification checks all material article statements in batches of `NEUROFORGE_KB_STAGING_MAX_VERIFICATION_STATEMENTS`; the value is a batch size, not a total verification cap. A hard safety ceiling of 128 material statements remains. Staging persists `article_quality` with actual article/answer lengths, configured bounds, evidence count, prompt size, expansion status and synthesis token usage.
Fortinet `support-forum` pages are treated as vendor-community evidence rather than authoritative primary documentation. Editorial `technical-tip` and `troubleshooting-tip` pages remain eligible as authoritative first-party material.
+5
View File
@@ -56,3 +56,8 @@ Bei Windows-/Vendor-Artikeln dürfen normale Slash-Komposita oder URL-Pfade kein
## v1.5.8 Staging-Revalidation Zusatzgate
Nach einem Upgrade auf v1.5.8 aktive Goals mindestens einen Scheduler-Cycle durchlaufen lassen. Ein Artikelziel darf erst dann als erfüllt gelten, wenn der Goal-State `staging_draft_validated=true` und `staging_quality_gate_version=staging-v3` meldet. Persistierte Fehler aus älteren Gates dürfen nicht als aktueller Fehlerstatus interpretiert werden.
## v1.5.9 Article-Depth Zusatzgate
Nach dem Upgrade muss ein aktiver Research-Draft `staging_quality_gate_version=staging-v4` erreichen. Im Staging-RAW-JSON `article_quality` prüfen: `text_chars` muss mindestens `NEUROFORGE_KB_STAGING_MIN_ARTICLE_CHARS` erfüllen, die kompakte `answer`-Zusammenfassung muss innerhalb ihrer Grenzen bleiben und `claim_verification` muss bei aktivierter Verifikation vollständig bestehen. `NEUROFORGE_OLLAMA_NUM_PREDICT=0` ist der empfohlene Mega-Default, damit das Staging-Call-Budget nicht von einem alten globalen `num_predict` abgeschnitten wird.
+18
View File
@@ -0,0 +1,18 @@
# Migration v1.5.8 → v1.5.9
v1.5.9 is a non-destructive staging-quality migration. No volumes, goals, memories, synapses, research history or staging drafts must be deleted.
1. Build/publish the v1.5.9 images.
2. Set `IMAGE_TAG=1.5.9`.
3. Keep `NEUROFORGE_OLLAMA_NUM_PREDICT=0` unless you deliberately want a global Ollama cap; otherwise the per-call 2,600-token staging budget can be silently constrained.
4. Keep the production Article-Depth defaults initially. Increase `NEUROFORGE_OLLAMA_NUM_CTX` before raising the Evidence-Prompt or article/token budgets substantially.
5. Recreate `neuroforge` and `neuroforge-worker` without deleting volumes.
6. Allow each active goal with a staging draft to complete one scheduler cycle. `staging_quality_gate_version` must become `staging-v4` before the draft satisfies an article target.
7. Review the new `article_quality` metadata. A production draft should normally have `text_chars >= 3500`, `answer_chars` in the configured summary range, and a successful claim-verification report when that gate is enabled.
Recommended upgrade command:
```bash
docker compose --profile research pull neuroforge neuroforge-worker
docker compose --profile research up -d --force-recreate neuroforge neuroforge-worker
```
+33
View File
@@ -0,0 +1,33 @@
# GLPI NeuroForge Mega v1.5.9
v1.5.9 addresses a production-quality limitation observed after the v1.5.8 revalidation gate: source-grounded drafts could pass all evidence/claim checks while the generated knowledge article remained unnecessarily short. The root causes were a hard-coded 1,400-token synthesis budget, an even smaller syntax-repair budget, no minimum article-depth contract, and no explicit distinction between the full `text` article and the compact `answer` field.
## Changes
- The canonical KB article is explicitly the `text` field; `answer` remains a concise operational summary for downstream reply use.
- Production defaults: 3,500 minimum article characters, 6,500 target characters, 10,000 maximum characters, 160–1,200 answer characters.
- Staging synthesis receives a configurable 2,600-token output budget. Syntax repair and grounding rewrite use the same budget so repairs cannot silently truncate a valid long draft.
- Too-short/out-of-bounds drafts get exactly one evidence-only article-depth rewrite. No outside knowledge may be added; insufficient evidence remains fail-closed.
- Evidence text sent to the model is fairly budgeted across selected evidence items (14,000 evidence characters by default) to keep room for long output within common local-model context windows.
- Claim verification now inspects up to 32 material statements by default and uses a larger verification output allowance.
- `article_quality` audit metadata records text/answer length, configured bounds, evidence count, evidence prompt size, expansion status and synthesis output tokens.
- NeuroForge gets explicit `NEUROFORGE_OLLAMA_NUM_CTX` and `NEUROFORGE_OLLAMA_NUM_PREDICT` runtime overrides. The Mega default keeps `num_predict=0`, allowing call-specific budgets to take effect.
- Fortinet `support-forum` pages are no longer treated as authoritative primary documentation; Fortinet Technical-/Troubleshooting-Tip pages remain first-party authoritative.
- Quality-gate version advances to `staging-v4`, forcing one non-destructive revalidation of existing active drafts.
## Production defaults
```env
NEUROFORGE_OLLAMA_NUM_CTX=8192
NEUROFORGE_OLLAMA_NUM_PREDICT=0
NEUROFORGE_KB_STAGING_SYNTHESIS_MAX_TOKENS=2600
NEUROFORGE_KB_STAGING_EVIDENCE_PROMPT_MAX_CHARS=14000
NEUROFORGE_KB_STAGING_MIN_ARTICLE_CHARS=3500
NEUROFORGE_KB_STAGING_TARGET_ARTICLE_CHARS=6500
NEUROFORGE_KB_STAGING_MAX_ARTICLE_CHARS=10000
NEUROFORGE_KB_STAGING_MIN_ANSWER_CHARS=160
NEUROFORGE_KB_STAGING_MAX_ANSWER_CHARS=1200
NEUROFORGE_KB_STAGING_MAX_VERIFICATION_STATEMENTS=32
```
No storage reset is required. Existing goals, memories, synapses, research history and staging drafts remain intact.