Skip to content

docs: v2026.43 candidate section + README status table - #527

Merged
bong-water-water-bong merged 2 commits into
mainfrom
1bit/release-notes-v2026.43
Oct 23, 2026
Merged

bong-water-water-bong merged 2 commits into
mainfrom
1bit/release-notes-v2026.43

Conversation

@bong-water-water-bong

Copy link
Copy Markdown
Collaborator

Data for the owner's release today: the v2026.43 candidate section in docs/releases.md, and the README status table refreshed from it.

docs/releases.md — "v2026.43 (candidate, 23 Oct)"

  • Pins: every submodule the candidate builds from (llama.cpp 851fa6c8d8f2, hrx-system 82804197bcbe, Lemonade 27abcc24da99, the private HIP pin abaa6bc484d5, the sealed NPU pin 17ed5be7a28a, Laya, amdxdna, DwarfStar/tokenizers/ryzenai-server).
  • Artifacts and checks: the four packages and six checks as tables, marked pending until the release box writes RELEASE-CANDIDATE.md — nothing here claims a package exists that does not.
  • What moved since the 18 Oct rehearsal, each line a merged PR with its measured number:
area examples
HRX speed 2–8-token K-quant verify kernels (#487, 27B MTP +31–39 %, step 121 → 88 ms); split-K decode attention (#500, Qwen3.5-4B 32K 23.7 → 47.1 tok/s); Flash-Next MoE formats (#494, 5.1 → 26 tok/s); prompt FA causal block skipping (#491, Qwen3-4B pp4096 +45 %); load warm-ups (#498, 27B chat-short TTFT **2.64 → 0.80 s`)
batched (ours standard, 90 W cap, PCM pad (23 Oct)) N=8 aggregate 50.7 / 138.1 / 194.3 tok/s on 27B / Coder-30B / Qwen3.5-4B
correctness strict placement by default (#482, #473), census 43/43, gate coverage (#474, #477, #484, #456), #315 resolved (37 arms, 9 h 03 min, 0 faults, #518), lost-GPU exit (#466), #433 closed on 120 loads
NPU (sealed) gate NPU phase 90.33 tok/s on 0.6B; packages carry sealed sets only (#503, #505, #509, #512); OS image proves sensors + NPU from the booted image (#517, #523)
Lemonade one hop (#475, fork #15), warm-ups in order (fork #16, #17), PPA lemond (#483), upstream #3771 sync (fork #21, #520), catalog 22 HRX entries proven (43.4–330.7 tok/s chat-short, fork #19, #20, #23)
1bit OS MOK-signed UKI (#513), USB4/TB stack (#514), sealed sets + new Lemonade (#512, #523) — install step is not in this candidate
tooling gpu-hold FIFO queue + thermal brake (#501, #502), daily census/pins (#506, #524), kernel runbook + rehearsal (#525)

README.md

The opening paragraph keeps its 43/43 and MTP figures and gains a small status table with each number's standard (lemonade bench standard vs ours) and power state — 27B MTP 36.0/26.8/29.9, Coder-30B 84.2 single-stream, batched N=8 50.7/138.1/194.3, NPU 0.6B 90.33, census 43/43, catalog 22/22 — and a pointer to the candidate section.

Verification

python3 tools/copyright.py --check → rc 0. No file claims a package, tag or measurement that a linked PR, the auto-opt database rows, the catalog proofs page or a closed issue does not carry; the candidate rows say pending on purpose.

🤖 Generated with Claude Code

@github-actions

github-actions Bot commented Oct 23, 2026 •

Copy link
Copy Markdown

PR Reviewer Guide 🔍

(Review updated until commit 3c151e7)

Here are some key observations to aid the review process:

🎫 Ticket compliance analysis 🔶

487 - Partially compliant

Compliant requirements:

Non-compliant requirements:

  • None

Requires further human verification:

  • None

500 - Partially compliant

Compliant requirements:

  • Pin gpu-kernels Docs: the onebit recipe lives in our Lemonade fork #24 for split-K HIP decode attention for gated head-256 layers
  • Measure performance improvement on Qwen3.5-4B 32K decode: 23.7 → 47.1 tok/s
  • Measure performance improvement on Qwen3.8-27B 7.5 → 11.0 tok/s
  • Verify kernel bench vs double-precision reference on 17 shapes
  • Verify greedy text vs Loom kernel identical on Qwen3.5-4B and Qwen3.8-27B
  • Ensure no GPU fault in dmesg

Non-compliant requirements:

  • None

Requires further human verification:

  • None

494 - Partially compliant

Compliant requirements:

  • Pin gpu-kernels 1bit serve: one model on any device behind one OpenAI-compatible API #21 for IQ3_S / IQ4_NL routed experts on HIP MoE decode and prefill kernels
  • Measure performance improvement on Qwen3.8-Flash-Next UD-IQ4_XS: 5.1 → ~26 tok/s
  • Measure performance improvement with MTP: 50.6 / 42.1 / 43.1 tok/s
  • Verify correctness vs CPU on small shapes (81/81)
  • Ensure W4A4 prompt prefill is OFF by default

Non-compliant requirements:

  • None

Requires further human verification:

  • None
⏱️ Estimated effort to review: 3 🔵🔵🔵⚪⚪
🧪 No relevant tests
🔒 No security concerns identified
⚡ Recommended focus areas for review

Documentation Accuracy

The README.md file updates the status table with performance numbers and release candidate information. While the content appears to be accurate based on the PR description and ticket details, it's important to verify that all the numbers and claims in the table (e.g., 36.0 / 26.8 / 29.9 tok/s for Qwen3.8-27B with MTP) are indeed measured on the specified hardware (Strix Halo) and under the stated conditions (90 W cap, PCM pad). This is crucial for maintaining the integrity of the release candidate documentation.

**Where it stands on 23 October 2026** (candidate `v2026.43`; numbers carry their standard and their
power state — *lemonade bench standard* is Lemonade's own CI benchmark, *ours* is our sampler/batched
standard, and everything measured after the 23 Oct 01:38 rebuild is *90 W cap, PCM pad (23 Oct)*):

| what | number | standard |
|---|---|---|
| Qwen3.8-27B UD-Q4_K_XL with MTP, code / prose / short chat | **36.0 / 26.8 / 29.9 tok/s** | lemonade bench standard |
| Qwen3-Coder-30B-A3B, single stream | **84.2 tok/s** (85.9 in the lemonade-bench cells) | ours / lemonade standard |
| batched, aggregate at 8 concurrent 256-token chats: 27B / Coder-30B / Qwen3.5-4B | **50.7 / 138.1 / 194.3 tok/s** | ours, 90 W cap, PCM pad (23 Oct) |
| NPU, 0.6B gate phase | **90.33 tok/s** | ours (gate) |
| census on HRX: configurations with 0 nodes off the GPU | **43 of 43** | ours (gate) |
| Lemonade catalog: HRX entries proven on the box | **22 of 22** (43.4–330.7 tok/s chat-short) | lemonade bench standard |

The engine is in the release candidate now; the tag and the packages are the owner's
([docs/releases.md](docs/releases.md#v202643-candidate-23-oct)).
Release Candidate Documentation

The docs/releases.md file contains the release candidate section for v2026.43. It includes detailed information about the pins, artifacts, checks, and performance improvements. The documentation is comprehensive and aligns with the PR description and ticket requirements. However, it's important to ensure that all the performance claims (e.g., 27B MTP +31–39 %, Qwen3.5-4B 32K decode 23.7 → 47.1 tok/s) are verified and measured on the hardware as specified in the tickets. The documentation should also be consistent with the actual state of the codebase and the hardware.

## v2026.43 (candidate, 23 Oct)

Built from `main` by the release run; **nothing is tagged or published yet** — the owner publishes.
The run records the artifacts, their checksums and every check's log beside the candidate build, and
the package rows below are filled from that record and are marked *pending* until it exists.

Release sha and pins (the submodules this candidate is built from):

| component | pin |
|---|---|
| engine | `7871c71d` (main when the last release-blocking PR merged; a later merge today re-runs only the stages it touches, and the run's record carries the final sha) |
| llama.cpp (HRX fork) | `851fa6c8d8f2` |
| hrx-system | `82804197bcbe` |
| Lemonade (fork) | `27abcc24da99` |
| gpu-kernels (private, HIP) | `744bd713d968` (`config/gpu-kernels.config`) |
| npu-kernels (private, sealed) | `17ed5be7a28a` (`config/npu-kernels.config`) |
| npu-runtime (private) | `ce9fa59adf95` (`config/npu-runtime.config`) |
| Laya | source `6f0496f797dc`, model `7b928d828b7b` |
| amdxdna (out-of-tree NPU driver) | `526c608197` |
| DwarfStar / tokenizers / ryzenai-server | `5b013dc1bb` / `3012770722` / `69765cc591` |

| artifact | status |
|---|---|
| `lemonade-onebit-v2026.43-linux-x86_64.tar.zst` | pending |
| `1bit-os-v2026.43.img.zst`, `1bit-os-v2026.43.efi` | pending |
| `binary-drop-v2026.43.tar.zst` | pending |
| `changes.json`, `SHA256SUMS` | pending |

| check | status |
|---|---|
| `weekly.sh build test package` at the pins above | pending |
| `package_checks` (the packaging's own leak scan: no plaintext NPU artifacts, no private symbols) | pending |
| `1bit check` from the packed tarball on a clean prefix | pending |
| hardware gate, all phases (ops, fa-decode-q8, kat, kld, needle, placement, **npu**) | pending |
| OS image VMTEST (`os/mini/vmtest.sh`) | pending |
| binary drop built from a clean tree with no private parts | pending |

### What moved since the last rehearsal (18 Oct)

Every line is a merged PR; the numbers are measured, and the ones measured on Strix Halo carry the
power state they were taken in. **lemonade bench standard** = Lemonade's own CI benchmark (reload
before every run); **ours** = our sampler/batched standard (see the table legend in
the auto-opt database).

**HRX speed (ours).** Qwen3.8-27B UD-Q4_K_XL with MTP, greedy 256-token chats: **36.0 / 26.8 / 29.9
tok/s** on code / prose / short, from 25.9 / 20.5 / 21.9 before the verify kernels — 2–8-token
K-quant verify took the step from 121 ms to 88 ms (`#487`). Decode without MTP stays 12.2 tok/s.

| change | PR | measured |
|---|---|---|
| 2..8-token K-quant verify kernels | `#487` | 27B `--mtp` **+31–39 %** |
| batched MoE decode on our kernels | `#521`, `#526` | pin `744bd713d968`: the top-1 batched window from 5 tokens; the batched cells below were measured one pin earlier (90 W cap, PCM pad (23 Oct)) |
| split-K decode attention for gated head-256 | `#500` | Qwen3.5-4B 32K decode **23.7 → 47.1 tok/s**; 27B **7.5 → 11.0** |
| MoE formats for Qwen3.8-Flash-Next | `#494` | **5.1 → 26 tok/s**, 50 with MTP |
| HIP prompt flash attention, causal block skipping | `#491` | Qwen3-4B pp4096 **+45 %** |
| m128 prefill tiles + raster groups | `#490` | 27B prefill **+1.6…2.5 %** |
| query-chunk prompt FA, ROPE token chunks, int4 SwiGLU opt-in | `#493` | 27B KLD base re-recorded; 27B runs `-ub 4096` |
| a second warm-up at load builds the small-batch weight layout | `#498` | 27B chat-short TTFT **2.64 → 0.80 s** |
| warm the backend before the first client request | `#492` | removes the 5–23 % slower first request |
| MTP drafts with the model's own head on HRX by default | `#495` | `--print-backend` carries the warm-up |
| `--precise`: a follow-up turn bitwise identical to a cold run | `#504` | identity, not speed |

**Batched, ours standard** (N concurrent 256-token chat requests, `-c 8192` per slot, median of 3,
**90 W cap, PCM pad (23 Oct)**), aggregate tok/s at N=8: Qwen3.8-27B **50.7** (2.08x N=1, with the
model's own MTP draft), Qwen3-Coder-30B-A3B **138.1** (1.64x), Qwen3.5-4B **194.3** (3.39x). Single
stream in the same cells: Coder-30B 84.2, 27B 24.3 (MTP on; 12.2 without), Qwen3.5-4B 57.3. Lemonade's
Vulkan build reaches 245.7 on Coder-30B at N=8 in the same run — that gap is batching headroom, not a
model result, and it is the next speed row.

**Correctness and placement.** Strict device placement is the default: a graph with any node off HRX
refuses to load, and the hardware gate fails the same condition (`#482`, `#473`, `#442`). The census
closes **43 of 43** configurations with 0 nodes off the GPU and one graph split (`#476`, `#480`,
`#481`), the gate now covers q8_0 KV rows, a mixed K/V flash-attention case, an MoE model, an IQ
quant and a second needle (`#474`, `#477`, `#484`), and the KLD bases were re-recorded at the release
pin (`#456`). `#315` is **resolved**: the CWSR-on soak passed 37 arms over 9 h 03 min with 0 faults
(`#518`), after the CWSR save area moved into GTT (`#454`) and `hrx-system` gained its
`HRX_ALLOW_NO_SVM` gate (`#455`). A lost GPU now exits the server instead of serving from a broken
context (`#466`), allocation safety bounds the program cache and poisons a device after a fault
(`#486`), and the ZAYA1-8B NaN re-check closed on **120 fresh loads, 0 NaN** at the current pins
(`#433`).

**NPU (sealed).** The gate gained an NPU phase and the packages carry **only the sealed kernel
sets** — a plaintext artifact fails the packaging check, and the launcher refuses an unsealed one
(`#503`, `#505`, `#509`, `#512`). The 0.6B gate phase measures **90.33 tok/s**; the OS image proves
`amd_pmf` sensors and the NPU from the booted image (`#517`, `#523`). The runtime's public header and
prebuilt-library build are in the tree (`#467`, `#479`, `#469`).

**Lemonade.** One hop for GGUFs: Lemonade starts the engine's `llama-server` directly, no shim
(`#475`, fork `#15`), the engine's own warm-ups are sent in order (`#492`, fork `#16`, `#17`), and
the Ubuntu 26.04 PPA's `lemond` runs our HRX server unchanged (`#483`). Synced to upstream `#3771`
(fork `#21`, `#520`). The catalog has **22 HRX entries, each proven on the box** — strict placement,
one request in role, `lemonade bench ... chat-short` — and 3 NPU entries (fork `#19`, `#20`, `#23`);
chat-short spans 43.4 (Qwen3-8B) to 330.7 tok/s (Qwen3-0.6B), 0 faults in 16 holds.

**1bit OS.** The image carries the sealed NPU sets and the new Lemonade (`#512`, `#523`), the UKI is
signed with the enrolled MOK so a stick boots with Secure Boot on (`#513`), the USB4 v2 / Thunderbolt
stack is loaded (`#514`), and `amd_pmf` sensors come up from the booted image (`#517`). The install
step is not in this candidate (branch `1bit/os-install`).

**Tooling.** `scripts/gpu-hold`: a fair FIFO GPU queue, used by the hardware gate and the release
runs, which honours the box's thermal brake and cools down after a hot hold (`#501`, `#502`). Census
and pins kept current daily (`#506`, `#524`), and the kernel is now a written runbook with a
rehearsal at `v7.3` and linux-next `next-20261022` (`#525`).

bong-water-water-bong and others added 2 commits October 23, 2026 07:47
…follow-up)

Data for the owner's release today, no prose for its own sake:

- `docs/releases.md` gains a **v2026.43 (candidate, 23 Oct)** section: the release sha and every pin,
  the four artifacts and the six checks as tables (marked *pending* until the release box's
  `RELEASE-CANDIDATE.md` exists), and a grouped changelog of everything merged since the 18 Oct
  rehearsal - HRX speed (verify kernels +31-39 % on 27B MTP, split-K decode 23.7 -> 47.1 on
  Qwen3.5-4B 32K, Flash-Next MoE 5.1 -> 26 tok/s, prompt FA +45 % on Qwen3-4B, warm-up TTFT
  2.64 -> 0.80 s), the batched N=8 cells (50.7 / 138.1 / 194.3 aggregate tok/s), correctness
  (strict placement by default, 43/43 census, #315 resolved on a 37-arm soak, #433 closed on 120
  loads), the sealed NPU packaging, the Lemonade one-hop + catalog proofs (22 HRX entries), the OS
  image's signed UKI, and the tooling (gpu-hold queue, census, kernel runbook).
- `README.md` gets the same status as a table under the opening paragraph, with each number's
  standard (lemonade bench standard or ours) and the power state where it matters.

Every line names its PR; every number comes from the auto-opt database rows, the catalog proofs or a
closed issue, and carries the standard it was measured under. Nothing is claimed as shipped: the
candidate's artifacts and checks stay *pending* until the release run writes them.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Two review fixes on the candidate section:

- `gpu-kernels` pin `abaa6bc484d5` -> `744bd713d968` (#526, the top-1 batched window from 5
  tokens), with the batched cells noted as measured one pin earlier, and the engine row now names
  `7871c71d` — main when the last release-blocking PR merged. Adds the `npu-runtime` pin
  (`ce9fa59adf95`) so every row the release run records has a row here.
- the candidate paragraph pointed at a file that only exists on the release box; public docs name
  files in this repository only, so it says "the release run" and what that run records.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

Persistent review updated to latest commit 3c151e7

@bong-water-water-bong
bong-water-water-bong merged commit 890ca42 into main Oct 23, 2026
8 checks passed
@bong-water-water-bong
bong-water-water-bong deleted the 1bit/release-notes-v2026.43 branch October 23, 2026 10:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant