announce: neural-trader@2.7.6 — full fix shipped (4 bugs, 3 PRs, 3/5 platforms covered) · Issue #1981 · ruvnet/ruflo · GitHub
Skip to content

announce: neural-trader@2.7.6 — full fix shipped (4 bugs, 3 PRs, 3/5 platforms covered) #1981

Closed

Description

@ruvnet

Intro

A week ago, an attempt to install neural-trader on Apple Silicon led to a 120 GB RAM fork-bomb. The fix for that (#1974) was shipped quickly, but it only addressed the most dramatic symptom. A deeper audit found three more bugs that had been silently making the package unusable as a library on every platform since v2.5.0 (November 2025) — including missing source files that were caught by a stray Python-template .gitignore rule, an x86-only hashing library that blocked builds on Apple Silicon, and a release pipeline that claimed to ship binaries for five platforms but actually shipped one.

All of those are fixed in neural-trader@2.7.6, on npm now. This issue is the announcement, with what changed, who's affected, and what to do.

What's fixed in 2.7.6

Bug Symptom Versions affected Fix
Install-hook fork-bomb 3,049 stuck processes + 120 GB RAM on macOS in 80 min 2.6.x – 2.7.1 neural-trader#109 → shipped in 2.7.2
Missing napi-loader-shared.js / napi-loader.js / validation-utils.js (caught by unscoped lib/ in .gitignore) require('neural-trader') always threw Cannot find module './src/cli/lib/napi-loader-shared' 2.5.0 – 2.7.4 neural-trader#111 → shipped in 2.7.5
fasthash C build hard-codes x86 SIMD flags cargo build aborted on aarch64-apple-darwin all 2.x neural-trader#111 → replaced single call site with stdlib SipHash
Cross-platform binary publish pipeline never worked (8 separate workflow bugs) npm tarball claimed 5 platform binaries, shipped 1 all 2.x neural-trader#111 → workflow fixes; 3 of 5 binaries shipped in 2.7.6

Platform coverage in 2.7.6

Platform Status
linux-x64-gnu ✅
darwin-arm64 (Apple Silicon — M1/M2/M3/M4) ✅ first time ever shipped
darwin-x64 (Intel Macs) ✅ first time ever shipped
linux-arm64-gnu (Raspberry Pi, AWS Graviton, etc.) ⏳ pending — CI build path now wired, will fill in on the next tag-triggered release
win32-x64-msvc (Windows x64) ⏳ pending — same

What to do

If you're using neural-trader directly:

npm install --ignore-scripts neural-trader@2.7.6

(The --ignore-scripts flag is kept as belt-and-braces defense in depth — the install hook is safe in 2.7.2+, but skipping it costs nothing.)

Verify:

node -e "console.log(Object.keys(require('neural-trader')).length)"
# Expected: 194

If you're using the ruflo-neural-trader plugin in this repo, it'll be bumped to require neural-trader@^2.7.6 in a follow-up PR — the CI guard scripts/audit-neural-trader-safety.mjs still enforces --ignore-scripts on every documented invocation as defense in depth.

Want the full story?

The full technical post-mortem with root-cause analysis for each bug is at:

📄 https://gist.github.com/ruvnet/a1aca90a5c299d89fa92e905dab11041

It covers:

  • How the install hook ended up calling itself recursively
  • Why a Python .gitignore template made three load-bearing JS files invisible to git
  • Why one placeholder hash call brought down the entire ARM-darwin build
  • All 8 separate CI workflow bugs and how each was fixed
  • Build-from-source verification on Apple Silicon

References

Closing this issue when the ruflo-neural-trader plugin's prerequisite pin is bumped to ^2.7.6.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions