diff --git a/CHANGELOG.md b/CHANGELOG.md index 5771732..2c8f174 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,13 +18,31 @@ is only released once its **exit criterion** is met, not when its code lands. | v0.11.0 | — | High availability from setup, the setup and console screens, usage sums and per-tenant alerts | released | | v0.12.0 | — | The cluster's settings in the store, in force when changed; the firewall switch; wipe | released | | v0.13.0 | — | The whole system stopped and started from one command; Qwen3Guard judges, on a GPU and CPUs together | released | -| v0.14.0 | — | Knowledge bases: documents from people's own machines, kept apart per tenant, answered from | released (v0.14.1: adapters, the tree over the API, the firewall on every machine; v0.14.2: pictures from ComfyUI; v0.14.3: 3D models as jobs; v0.14.4: any ComfyUI workflow as a job, presets, licences; v0.14.5: picture and 3D models that add themselves; v0.14.6: setup that explains every part and lets it be chosen, the gateway on all three HA machines) | +| v0.14.0 | — | Knowledge bases: documents from people's own machines, kept apart per tenant, answered from | released (v0.14.1: adapters, the tree over the API, the firewall on every machine; v0.14.2: pictures from ComfyUI; v0.14.3: 3D models as jobs; v0.14.4: any ComfyUI workflow as a job, presets, licences; v0.14.5: picture and 3D models that add themselves; v0.14.6: setup that explains every part and lets it be chosen, the gateway on all three HA machines; v0.14.7: the judge sized for its machine) | | v1.0.0 | 5 | What phase 5 has left: precise KV routing proven on vLLM, the block cost picker, defragmentation across NVLink domains, prefill/decode disaggregation | planned | Until v1.0.0 the minor version is the breaking one: configuration formats and Go APIs change between minors without a deprecation period. -## Unreleased +## v0.14.7 — 2026-10-16 + +The judge installed by `server init` sized for what it does. On a machine +of fewer than eight cores v0.14.6 left every judgment past its budget, so +`fail: closed` refused every request. A single-machine install of v0.14.7 +on a 4-core VM passed 20 of 20, and on 8 cores 20 of 20 under load. + +**Upgrading.** +- No migration. +- **Upgrading does not change a judge already in the catalog.** v0.14.6 + and earlier installed two judges, reserving no cores or one, and 2 or + 4 GB. To give them what they need: + `llmgw ctl model resources qwen3guard-0.6b --memory 2 --cores 2`, then + `llmgw ctl restart --model qwen3guard-0.6b`. The two then need four cores + on a single machine; below that, a longer `latency_budget` or + `fail: open`. +- On a node whose cores are all reserved, `ctl restart --model` cannot + start the new replica beside the old one and waits. Stop the old engine + process, and the replica comes back with the new figures. ### Fixed @@ -39,9 +57,10 @@ APIs change between minors without a deprecation period. on two cores each, as in HA setups. `--judge-replicas` and the setup's Copies still choose. - **A judge gets the two cores it needs.** v0.14.6 gave each judge replica one core on machines under eight. A judgment of about 280 tokens takes 8.0 s on one core, 4.2 s on two and 2.3 s on four, against the 5 s budget, so on a 4-core - machine every judgment timed out and every request was refused. A judge replica now reserves two cores, one only - below four CPUs. On a 4-core machine the starter reserves none and shares what is left. A judge on two cores - stays close to its budget: give it more cores or a GPU, or raise `latency_budget`, where requests must not wait. + machine every judgment timed out and every request was refused. Where there are two judges, each now reserves two + cores (one only below four CPUs), and the one judge of a single machine up to four; the starter has what is left, or + shares when nothing is. A judge on two cores stays close to its budget: give it more cores or a GPU, or raise + `latency_budget`, where requests must not wait. ## v0.14.6 — 2026-10-16 diff --git a/README.md b/README.md index 86b888c..ebc703a 100644 --- a/README.md +++ b/README.md @@ -40,7 +40,7 @@ Releases track the roadmap phases; see [CHANGELOG.md](CHANGELOG.md). | v0.11.0 | — | High availability from setup, the setup and console screens, usage sums and per-tenant alerts | released | | v0.12.0 | — | The cluster's settings in the store, in force when changed; the firewall switch; wipe | released | | v0.13.0 | — | The whole system stopped and started from one command; Qwen3Guard judges, on a GPU and CPUs together | released | -| v0.14.0 | — | Knowledge bases: documents from people's own machines, kept apart per tenant, answered from | released (v0.14.1: adapters, the tree over the API, the firewall on every machine; v0.14.2: pictures from ComfyUI; v0.14.3: 3D models as jobs; v0.14.4: any ComfyUI workflow as a job, presets, licences; v0.14.5: picture and 3D models that add themselves; v0.14.6: setup that explains every part and lets it be chosen, the gateway on all three HA machines) | +| v0.14.0 | — | Knowledge bases: documents from people's own machines, kept apart per tenant, answered from | released (v0.14.1: adapters, the tree over the API, the firewall on every machine; v0.14.2: pictures from ComfyUI; v0.14.3: 3D models as jobs; v0.14.4: any ComfyUI workflow as a job, presets, licences; v0.14.5: picture and 3D models that add themselves; v0.14.6: setup that explains every part and lets it be chosen, the gateway on all three HA machines; v0.14.7: the judge sized for its machine) | | v1.0.0 | 5 | What phase 5 has left: precise KV routing proven on vLLM, the block cost picker, defragmentation across NVLink domains, prefill/decode disaggregation | planned | As of v0.6.0 a cluster runs unattended: agents report their hardware, the