Repository navigation
Releases: EldanRing/winnow-inference
Release list
Winnow v2026.10.06
Winnow inference v2026.10.06
Update with one command
bin/winnow updateThe updater verifies the latest official release and switches the matching client,
manifests and native server together. Models, user configuration and explicit
launch options stay at their existing paths. No repeated repository pulls or
manually managed install copies are required. Source installs build automatically
with existing prerequisites and retain their backend/compiler settings. macOS
uses source, never the CUDA binary. Running services are not restarted.
Older installations need the one-time bootstrap.
Invalid or interrupted downloads keep the current version selected; rerun the
same command. An automatic recovery copy is maintained without user folder management.
Included changes
- Winnow-E2B Q8 direct, chat and adaptive text/image decisions, with 8K/64K profiles and optional official MTP4 assistant.
- Explicit
off,selectiveandalwaysdecision reasoning modes; existingonremains selective. Reasoning and MTP still default to off. - Image bytes retained through direct scoring, reasoning generation and final scoring, with matching runtime/context checks.
- F16 target K/V cache by default for all targets; explicit
--cache q8_0remains available. Model weights and existing policy coefficients are unchanged. - Correct E2B option serialization and cancelled backend I/O isolation; retain direct results when reasoning cannot finish safely.
- Pinned E2B target, projector and bundled assistant downloads. BF16 is not a shipped E2B launcher preset.
Assets: winnow-source-v2026.10.06.tar.gz, winnow-linux-x86_64-cuda-v2026.10.06.tar.gz, winnow-update.py, SHA256SUMS.
Validation: all 3,277 frozen E2B text cases completed in the earlier inference
campaign. This updater/package pass passed 51 focused CPU tests on Mac and 112
full-suite tests on Linux, with one optional comparison test skipped. Update tests
cover real packaged Python wrappers with a CPU native recorder, verified downloads,
repeat/no-op updates, failures and interruption recovery, model/config preservation,
source selection/build configuration and cache reuse, and dirty-source refusal.
Source compilation is stubbed in updater tests; no new native rebuild or GPU test
occurred. Every archive member and the standalone helper match sealed hashes.
Frozen selective results: Jev 202/231, Kev 851/1046, Typed 1366/2000 teacher agreement.
Two context-limit cases retain their direct result. Existing E4B adaptive policy and
structured-state support were already public before this release.
The prebuilt Linux runtime targets RTX 5070 Ti SM120 and requires compatible CUDA
13, NCCL 2 and OpenSSL 3 libraries. Compatibility is checked before activation;
bin/winnow update --source selects a host-specific build when needed. Source
updates need their documented local build prerequisites. Update guide.
Winnow E4B adaptive policy update
E4B adaptive policy update
The opt-in Winnow-E4B client now uses e4b-calibrated75-g95-v1: it requests
reasoning when the raw top probability is below 0.95 and gives a completed
reasoned score 75% of the probability blend. The E4B direct and augmented
temperatures remain calibrated at 1.2041180007310734 and 3.4209273427377678.
Direct decisions remain the default. The previous e4b-calibrated50-v1 is
still available by policy ID.
On a disjoint 288-decision text panel, the updated E4B policy matched 198
labels versus 185 with the previous policy, with 14 corrections and one
regression. Mean NLL improved from 1.000 to 0.955 and Brier from 0.505 to
0.483. It routed 181 rather than 114 decisions; estimated resident serial
mean latency rose from 263 to 376 ms. This is a quality/cost choice for the
measured one-question text workload. See results and limits.
Upgrade
Download the source or Linux/CUDA runtime archive and SHA256SUMS-e4b-policy
below. Verify with sha256sum --check --ignore-missing SHA256SUMS-e4b-policy
and extract into a new directory. Reuse verified model and assistant files.
For source, check out tag v2026.10.05-e4b-policy. The
quickstart
has the exact --reasoning on commands.
The Q8 and NVFP4 policies, model weights, assistant, projector, and server
binary are unchanged. The E4B comparison is text-only; image reasoning and
production cold/concurrent latency are outside its measured scope. Prior
tags and archives remain available.
v2026.10.05 adaptive client patch
Adaptive client structured-state compatibility
The optional adaptive Python client now accepts one named question with a string, object, or array state. For structured states, it preserves the original object or array for the direct native score, serializes it only in the generation prompt, and sends {"original_state": state, "model_reasoning": text} to augmented native scoring. String behavior, frozen routing gates, 50/50 blending, and image rejection are unchanged. Native /v1/systemone already supported objects and arrays. Direct decisions remain the default.
This is a Python client and documentation patch. The Linux/CUDA server binary is byte for byte the same as in the prior release (SHA-256 28e0b039e957154a9ed7f3d85ccead3ac91e1da2a297977d1ed46aba00f725b9). No model weights or MTP assistant are bundled or changed.
Validation and scope
The final source passed all 53 local Python unit tests on the PC. A bounded private check used the released Winnow-12B Q8 artifact and official MTP assistant on public Jev231 cases. The old adaptive client accepted 196 text states and rejected 35 object states; fresh direct scored all 231. Six string controls matched exactly after the patch. The patched client accepted all 35 object states, improving their direct 26/35 to adaptive 30/35. A two-run composite of the original 196 text cases and later patched 35 object cases gives direct 198/231 and adaptive 205/231; 28 routed, 27 completed blends, and one natural-EOS/context fallback. This was not a continuous patched 231-case run or independent validation. It does not compare always-on reasoning with selective blending. No vision quality claim is made for this client, which still rejects image input. See the adaptive contract.
Upgrade
Download winnow-inference-runtime-2026.10.05-client1.tar.gz and SHA256SUMS-client1 below. Verify the archive checksum with sha256sum -c SHA256SUMS-client1, then extract into a new directory. The checksum file also covers the source archive, so download both archives when running that exact command, or check the runtime archive alone against the listed hash. Reuse previously verified model and assistant files with --model-dir or --asset-dir ... --offline. The archive requires compatible Linux/CUDA runtime libraries listed in candidate-manifest.json; it does not bundle them. Source users can update to tag v2026.10.05 and use their existing build process. Quickstart.
Assets and SHA-256
| Asset | SHA-256 |
|---|---|
winnow-inference-source-2026.10.05-client1.tar.gz |
12dc8fe4e5fdb804b151c5f18f7aa5c47f69c9f56ad02ddaf342cb74a35fd8e0 |
winnow-inference-runtime-2026.10.05-client1.tar.gz |
62903be55c7f16132ad610a5598e1892c00e8001af06be8e03135faf0595ddaa |
The source archive was exported from commit 92c4c93cc136036d8006e88062ec6ff3dfcdc3b8 using the repository allowlist. The runtime archive was based on the verified prior release runtime; its manifest records all 51 payload hashes and the exact ten changed client/docs/manifest files. Prior assets and tag v2026.10.04 remain available unchanged.
Winnow 2026.10.04: NVFP4, MTP and short model presets
Winnow inference — 2026.10.04
Run Winnow with the short q8, nv4, and e4b selectors and explicit vision, MTP, and reasoning switches. Direct native decisions remain the default. NVFP4 and the matching optional 12B/E4B MTP assistants are available from the existing model repositories.
- Quickstart and mode matrix
- Reasoning results: benchmark gains, regressions, policy comparisons and latency
- 12B weights, model card and measured results
- E4B weights, model card and measured results
Attribution correction (notices1)
Use the corrected Linux/CUDA runtime and
source archive, verified with SHA256SUMS-notices1.
They include the unchanged MIT copyright and permission notice for William
Casarin's rotate-bits header at the pinned llama.cpp revision. The SHA-256
implementation incorporated in the runtime uses that header.
The runtime is a notice-only repack of local-review-runtime-v9.tar.gz:
all 50 existing payload files, including the server binary, are byte-for-byte
unchanged. Only the license file is added and the package receipt is updated.
No recompilation, model changes, or serving-behavior changes were made.
The source archive includes the existing docs2 corrections and the attribution
fix at commit 903f43054b706ba9f0a012cb507a6ed66e6c2f42.
All older assets, their checksums, and the release tag remain available unchanged.
| Corrected file | Bytes | SHA-256 |
|---|---|---|
winnow-inference-source-2026.10.04-notices1.tar.gz |
9,693,725 | 0fa74fcdc7e81c6dd6b757de5746dd9e36670c5c9fa5b35cc7007eecba7bcc74 |
winnow-inference-runtime-2026.10.04-notices1.tar.gz |
48,083,526 | c8ada229d2bf1fe83bff347d0692a5e33419bb37d050881ef538912e063aa407 |
Corrected source and documentation
Use the corrected repository snapshot and its
README,
installation guide, and
full Q8 reasoning results.
These links are pinned to commit 5953ac93399d93708d5e680c3f819848a99e738f.
For a source download, use winnow-inference-source-2026.10.04-notices1.tar.gz
and verify it with SHA256SUMS-notices1.
This source snapshot includes the updated benchmark documentation and charts,
explicit asset prerequisites for the optional verification and container examples,
and the rotate-bits attribution and packaging correction. Runtime implementation
and serving behavior are unchanged.
The published v2026.10.04 tag, GitHub's automatic Source code (zip/tar.gz)
links, and local-review-source-v10.tar.gz retain their original snapshots and
older documentation. Use the explicitly linked notices1 archive above for current
source guidance. The validated runtime archive and original SHA256SUMS are
preserved unchanged.
| Updated source file | Bytes | SHA-256 |
|---|---|---|
winnow-inference-source-2026.10.04-notices1.tar.gz |
9,693,725 | 0fa74fcdc7e81c6dd6b757de5746dd9e36670c5c9fa5b35cc7007eecba7bcc74 |
Download and run
winnow-inference-runtime-2026.10.04-notices1.tar.gz includes the exact validated thin Linux x86_64/CUDA
runtime binary and the corrected notice. Extract it and enter its directory:
tar -xzf winnow-inference-runtime-2026.10.04-notices1.tar.gz
cd winnow-inference-runtime-2026.10.04-notices1
bin/winnow presets
bin/winnow download --model e4b
bin/winnow serve --model e4bIn another terminal in the same directory:
bin/winnow decide --model e4b --input examples/adaptive-decision.jsonDefaults: 8K context, text, MTP off, reasoning off. Select --model nv4 for 12B NVFP4 or --model q8 for 12B Q8. Context and supported modes are explicit; consult the Quickstart before enabling them. Memory estimates are advisory.
The runtime requires compatible installed CUDA 13, NCCL 2, OpenSSL 3, and system libraries recorded in its dependency manifest. It is not a portable Mac binary or a system dependency installer. Apple Silicon uses the documented source-build path. MTP is supported in the documented Linux/CUDA configuration with one chat slot and automatic memory. Adaptive reasoning is experimental, text-only, and accepts one named question. Q8 vision plus MTP did not fit the measured 16 GB GPU; larger custom configurations are unvalidated.
Changes and validation
This release adds model/mode-aware setup guidance, explicit model and quantization identity checks, safe resumable downloads, isolation from inherited backend asset/speculation settings and automatic llama.cpp configuration, the reproduced line-ending build fix, and complete public help and applicable third-party notices. Frozen adaptive policy constants and direct decision scoring math are unchanged by the release fixes.
Local regression checks, native tests, and three bounded representative 4K GPU smoke configurations passed. These checks establish integration behavior on the existing supported host; they do not constitute a new quality benchmark, calibration campaign, or clean-machine installation certification. Published measurements retain their original model/runtime/settings provenance.
Exact archive provenance
The archives are preserved byte-for-byte from the reviewed source-v10/runtime-v9 snapshots derived from sealed source commit b0188a3adfb8f15ffd81cf02b8dac5cd15c79b24. Their filenames and some internal status text retain the pre-publication review wording. This release publishes those exact bytes; use the commit-pinned documentation and separately versioned notices1 source archive linked above for current guidance. Public Git history contains only the allowlisted inference source, not private development history or training data.
| File | Bytes | SHA-256 |
|---|---|---|
local-review-source-v10.tar.gz |
856,039 | d929ec7510182072ca7a2fe5f0c7644d83506489676a2ce8e94ace2862c356e3 |
local-review-runtime-v9.tar.gz |
48,083,196 | 7a76517ba5a94f991e373cc6482503d506e870a41c849bb3e1019a7296aa1224 |
Runtime binary SHA-256: 28e0b039e957154a9ed7f3d85ccead3ac91e1da2a297977d1ed46aba00f725b9.