This release adds 2 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Topics
+14 more
Summary
AI summaryUpdates CI regression guards, Fix, and stdout across a mixed release.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Performance | Medium |
Short‑circuits `--version` flag, reducing CLI startup time from ~60 s to ~33 ms. Short‑circuits `--version` flag, reducing CLI startup time from ~60 s to ~33 ms. Source: llm_adapter@2026-06-02 Confidence: high |
— |
| Bugfix | High |
Quotes colon in GitHub Actions workflow name, fixing silent CI failures. Quotes colon in GitHub Actions workflow name, fixing silent CI failures. Source: llm_adapter@2026-06-02 Confidence: high |
— |
| Bugfix | High |
Redirects embedder progress logs from stdout to stderr, preventing MCP JSON‑RPC corruption. Redirects embedder progress logs from stdout to stderr, preventing MCP JSON‑RPC corruption. Source: llm_adapter@2026-06-02 Confidence: high |
— |
| Bugfix | Medium |
Adds word‑boundary anchors to router regexes, correcting mis‑routing at high confidence. Adds word‑boundary anchors to router regexes, correcting mis‑routing at high confidence. Source: llm_adapter@2026-06-02 Confidence: high |
— |
| Refactor | Low |
Introduces smoke tests for YAML syntax and router regex correctness to prevent regressions. Introduces smoke tests for YAML syntax and router regex correctness to prevent regressions. Source: llm_adapter@2026-06-02 Confidence: high |
— |
Full changelog
v3.10.33 — CI/router/ONNX bug cluster
Critical / high-severity fixes from open issues
#2267 [HIGH] — v3-ci.yml 5 consecutive failures on main
- Root cause: unquoted
:inside a stepname("Guard 2 — smoke: generate ...") — YAML parser treatedsmoke:as a second mapping key and rejected the whole workflow. GitHub Actions accepted the push, scheduled the run, and produced zero jobs — invisible to green-dashboard-style monitoring. - Fix: quote the name. Workflow now parses to 53 jobs.
#2256 [HIGH] — --version blocks 60+ s on cold ONNX cache
- Root cause:
--versiontriggered the full CLI bootstrap, which eagerly loaded ruvector + downloaded a 23 MB ONNX model from HuggingFace. Cold-cache cost: ~60–90 s wall time, causing SIGTERM (exit 143) under the defaultnpxand 30 s MCP stdio timeouts. - Fix: short-circuit
--version/-Vin both@claude-flow/cli/bin/cli.jsandruflo/bin/ruflo.jsbefore any heavy import — read version straight frompackage.json. - Measured: 60s+ → 33 ms against the published
[email protected].
#2253 [Critical] — MCP stdio writes non-JSON to stdout, times out in Codex
- Root cause: upstream embedder libraries (
ruvector,ruvector-onnx-embeddings-wasm) emit progress toconsole.log(stdout) with messages likeLoading model: ...,Downloading: ...,🚀 Initializing N worker threads.... That corrupts the MCP JSON-RPC stdio framer; strict clients like Codex never seeinitializecomplete. - Fix:
log-filters.tsnow redirects all known embedder progress prefixes fromconsole.log→console.error. Filter installed in bothbin/cli.js(covers MCP stdio path) andsrc/log-filters.ts(CLI path). - Verified end-to-end:
echo '{"jsonrpc":"2.0",...}' | npx ruflonow returns clean JSON-RPC on stdout with all ONNX noise routed to stderr.
#2257 [High] — .claude/helpers/router.js mis-routes at 80% confidence via unanchored regex
- Root cause: keyword patterns like
cd/ci/ui/add/structurematched inside unrelated words:decision/infrastructure/address/addendum. Confidence was a hardcoded0.8despite the matcher being a static keyword table, not a learned classifier. - Fix: token-list schema with
\bboundaries on single tokens (phrases keep whitespace as a natural boundary). Matched-confidence 0.8→0.6, fall-through 0.5→0.3 to reflect the heuristic-not-learned nature. - Validated against all 11 reported mis-route cases plus the source-of-truth generator output.
Already fixed (waiting for this publish)
#2246 — memory_search_unified 6-namespace hardcode
- Already fixed in source (3.10.29, ADR-089). Reporter's environment was 3.10.22. Dynamic namespace enumeration now ships in 3.10.33.
Not a code bug
#2243 — verify.mjs cannot load @noble/ed25519
- Script already handles missing dep with a clear
Fix: ...message and exits 2 (precondition failure). ConfirmedsignatureValid=trueon a clean checkout. Operational fix belongs in the external scheduled runner's config (mustnpm cibefore invoking verify.mjs).
Out of scope
#2259 — memory store/list contradictory persistence surfaces
- Architectural fix in
memory-bridge.tsdispatch; tracked separately.
CI regression guards (so this can't happen again)
scripts/smoke-workflows-yaml.mjs— parses every.github/workflows/*.ymland fails the build on any YAML syntax error. Direct guard against the #2267 silent-fail mode.scripts/smoke-router-regex.mjs— renders the router fromhelpers-generator.ts::generateAgentRouter, asserts all 11 mis-route cases pass, confidence isn't 0.8, and\banchors are still in the source.- New
static-regression-guardsjob runs both smokes early inv3-ci.yml(no install/build — justjs-yaml + tsx).
Install
npx ruflo@latest --version # → ruflo v3.10.33 (33 ms)
npx @claude-flow/cli@latest --version # → ruflo v3.10.33 (35 ms)
All three dist-tags (latest, alpha, v3alpha) point at 3.10.33 across all three packages.
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
Related context
Related tools
Beta — feedback welcome: [email protected]