Skip to content

Release blockers: docs drift, NPU status, hrx-system pin note, weekly.sh preflight - #468

Merged
bong-water-water-bong merged 2 commits into
mainfrom
1bit/release-blockers
Oct 20, 2026
Merged

bong-water-water-bong merged 2 commits into
mainfrom
1bit/release-blockers

Conversation

@bong-water-water-bong

Copy link
Copy Markdown
Collaborator

Closes the open "First release blockers" items from the 19 Oct review, except the NPU runtime default (below).

Docs drift

  • README: --moe-slots is out of the feature list (app/serve.cpp refuses it unless built with ONEBIT_MOE_STREAMING_HRX, which nothing sets). serve.md keeps the section, retitled "not in this build", and marks the synopsis line.
  • Pins: README and PORTING.md name the current hrx-system 82804197 and llama.cpp 00f2a68de (the 2026-10-18 numbers stay, labelled as measured at the 8d9ce2c1a move). lemonade.md names c5ba797132a4 (was 4812a683) and no longer says the suite passes on Vulkan.
  • "Packages ship every Sunday" is gone: no release is published yet. README and releases.md say the release run is weekly and the first release is not out.
  • config/recipes.json is empty: README and serve.md now say so instead of describing built-in recipes.
  • pm.md examples use Lemonade's default port 13305; serve.md says the --lemonade-url default (8000, in code) is not Lemonade's port and that the onebit recipe passes the real address.
  • Dead links: the 1bit.gg site has not built since 2026-10-05 (315-STATUS.html has 26 <h1> elements), so the live site is stale and links to removed pages. With this branch the site builds (36 pages) and a link check over the built pages and over every tracked .md finds no dead internal link. Three lines starting with #<number> (hrx.md, hw-gate.md, serve.md) also broke the build and are rewrapped; one serve.md anchor that differed between GitHub and the site is fixed. The README's link to 1bit-MONSTER/kernel is a private repo (404 for visitors); left as is for the owner to decide.
  • The HRX: GLM-4.7-Flash intermittent HSA memory fault / NaN logits under varied-length requests (base fork tip too) #315 debugging notes (docs/315-*.md, docs/315-campaign/) move to dev/315/, which the site does not publish; references in KNOWN-ISSUES.md, 315-COORDINATION.md and .pi/agents/hrx315.md follow. They are still in the public repository.
  • npu.md no longer describes how the NPU runtime talks to the driver.

NPU in the release
releases.md and README describe the product as HRX with our HIP kernels and the NPU engine, all inside Lemonade. The NPU route is marked in progress: the runtime ships compiled into 1bit, the from-source NPU kernels are not merged yet (npu.md, Step 3d). No code defaults change.

hrx-system pin off its branch
82804197 is on 1bit/e3e6a976-pin-6 and 1bit/315-allow-no-svm (identical), not on 1bit/main. GitHub's compare says 1bit/main (c9656af5) and the pin have diverged: 1bit/main has 6 commits the pin does not (the merges of AMD's 40a1a36c and c0b135a7, and the #409/#410/#401/#6 fixes the pin line carries as replayed commits). It is not a fast-forward; moving 1bit/main to the pin would be a force push. hrx.md records this ("The pin is off 1bit/main") and .gitmodules points to it. Nothing was pushed to the fork.

weekly.sh preflight
From the 19 Oct rehearsal: before the first stage, weekly.sh checks the HRX toolchain (/opt/rocm-therock or -DONEBIT_HRX_TOOLCHAIN in WEEKLY_CMAKE_ARGS), hipcc for DwarfStar (same search as build-ds4.sh, or ROCM_PATH), patchelf, and a readable kernel image (VMLINUZ or /boot/vmlinuz-$(uname -r)), only for the stages requested. The package stage checks $W/src/third_party/lemonade/LICENSE before packaging. With everything present the run is unchanged. releases.md lists the checks.

Tests
CPU-only build on ryzen (HRX off): ctest 34/34 pass. Preflight run on ryzen: package stops on the root-only /boot/vmlinuz, build stops on the missing TheRock and hipcc, and with ROCM_PATH and ONEBIT_HRX_TOOLCHAIN set it passes. tools/copyright.py --check clean. Site built locally from this branch with 1bit-MONSTER/site's tools/site.py.

🤖 Generated with Claude Code

….sh preflight

- README and docs: --moe-slots dropped from the feature list (serve refuses it; serve.md
  marks it), current hrx-system/llama.cpp and Lemonade pins, no "packages every Sunday"
  promise (no release is published yet), the empty config/recipes.json said as such,
  pm.md examples on Lemonade's port 13305 and serve.md on the --lemonade-url default.
- The #315 debugging notes and campaign move from docs/ to dev/315/, so the site no longer
  publishes them; the site build failed on them (and on three '#<number>' line starts in
  hrx.md, hw-gate.md and serve.md, also fixed) since 2026-10-05.
- releases.md and README: the release is HRX with our HIP kernels and the NPU engine inside
  Lemonade; the NPU route is marked in progress (kernels from source not merged yet).
  npu.md no longer describes how the runtime talks to the driver.
- hrx.md and .gitmodules: why the hrx-system pin 82804197 is off 1bit/main (diverged,
  not a fast-forward).
- scripts/weekly.sh: a preflight before the first stage checks the HRX toolchain, hipcc
  for DwarfStar, patchelf and a readable kernel image; the package stage checks the
  run's own checkout has the Lemonade submodule. Nothing changes when they are present.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

Preparing review...

…repo links

The #315 investigation notes include hrx-system source analysis and decompile
notes, so they leave the public repository (now in 1bit-MONSTER/gpu-kernels
notes/315, PR gpu-kernels#5). KNOWN-ISSUES.md keeps its notes/315 references and
says where they live. The kernel repository is private, so README, PORTING.md,
os/README.md, NOTICE and mkimage.sh no longer link to it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

PR Reviewer Guide 🔍

Here are some key observations to aid the review process:

🎫 Ticket compliance analysis 🔶

315 - Partially compliant

Compliant requirements:

  • Documented the pre-existing nature of the issue in KNOWN-ISSUES.md
  • Updated references to point to private repository notes
  • Updated evidence paths to reflect private repository locations

Non-compliant requirements:

  • Does not provide a fix for the intermittent HSA memory fault / NaN logits issue
  • Does not address the root cause of the GLM-4.7-Flash intermittent failures

Requires further human verification:

  • The actual fix for the memory fault and NaN logits issue needs to be implemented and verified

409 - Partially compliant

Compliant requirements:

  • No changes in this PR address the hipModuleLoadData segfault issue

Non-compliant requirements:

  • The core memory safety bug in hipModuleLoadData is not fixed in this PR

Requires further human verification:

  • The fix for the memory-safety bug in libhrx needs to be implemented separately

410 - Partially compliant

Compliant requirements:

  • No changes in this PR address the libhip_intercept symbol wrapping issue

Non-compliant requirements:

  • The visibility defect in libhip_intercept is not fixed in this PR

Requires further human verification:

  • The fix for the missing HIP symbols in libhip_intercept needs to be implemented separately
⏱️ Estimated effort to review: 3 🔵🔵🔵⚪⚪
🧪 No relevant tests
🔒 No security concerns identified
⚡ Recommended focus areas for review

Documentation drift

The documentation in KNOWN-ISSUES.md has been updated to reference private repository paths, but the actual issue (intermittent HSA memory fault / NaN logits) remains unresolved. The PR only updates documentation to reflect that the issue is still open and not yet fixed.

The investigation notes and evidence cited below as `notes/315/...` are kept in a private repository.
Preflight checks

The preflight checks added in weekly.sh are a good addition for ensuring build environment consistency, but they do not address any of the core issues mentioned in the tickets. The checks are for toolchain, hipcc, patchelf, and kernel image, which are important for build stability but don't fix the actual bugs.

# --- preflight ----------------------------------------------------------------------------
# What the stages need from the machine, checked before the first one runs, so that a missing
# tool stops the run at the start rather than after an hour of build (2026-10-19 rehearsal).
preflight() {
    local bad=0 s rocm d kver vmlinuz
    for s in $STAGES; do
        case "$s" in
            bumps|build)
                # the HRX build's toolchain (cmake/hrx.cmake), unless WEEKLY_CMAKE_ARGS names another
                case " ${WEEKLY_CMAKE_ARGS:-} " in
                    *ONEBIT_HRX_TOOLCHAIN=*) ;;
                    *) [ -d /opt/rocm-therock ] ||
                        { echo "preflight: no /opt/rocm-therock (the HRX toolchain): install TheRock there, or pass -DONEBIT_HRX_TOOLCHAIN=<dir> in WEEKLY_CMAKE_ARGS"; bad=1; } ;;
                esac
                # DwarfStar (-DONEBIT_DS4=ON) builds with hipcc, found the way scripts/build-ds4.sh finds it
                rocm=${ROCM_PATH:-}
                if [ -z "$rocm" ]; then
                    for d in /opt/rocm-therock/lib/python3*/site-packages/_rocm_sdk_devel /opt/rocm; do
                        [ -x "$d/bin/hipcc" ] && { rocm=$d; break; }
                    done
                fi
                [ -n "$rocm" ] && [ -x "$rocm/bin/hipcc" ] ||
                    { echo "preflight: no ROCm with bin/hipcc for the DwarfStar build (scripts/build-ds4.sh): set ROCM_PATH"; bad=1; } ;;
            package)
                # scripts/package-linux.sh rewrites RPATHs with patchelf
                command -v patchelf > /dev/null ||
                    { echo "preflight: patchelf is not installed (scripts/package-linux.sh needs it): apt install patchelf"; bad=1; }
                # os/mini/mkimage.sh reads the kernel image; on Ubuntu /boot/vmlinuz-* is root-only
                kver=${KVER:-$(uname -r)}
                vmlinuz=${VMLINUZ:-/boot/vmlinuz-$kver}
                [ -r "$vmlinuz" ] ||
                    { echo "preflight: cannot read the kernel image $vmlinuz (os/mini/mkimage.sh): set VMLINUZ to a readable copy"; bad=1; } ;;
        esac
    done
    return $bad
}
preflight || { say "preflight failed: nothing was run"; exit 1; }

@bong-water-water-bong
bong-water-water-bong merged commit c1075a0 into main Oct 20, 2026
8 checks passed
@bong-water-water-bong
bong-water-water-bong deleted the 1bit/release-blockers branch October 20, 2026 11:55
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