This release fixes issues for SREs watching stability and regressions.
✓ No known CVEs patched in this version
Topics
+14 more
Summary
AI summaryUpdates Bug fixes, @grym3s, and @shaharKeisarApps across a mixed release.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Feature | Low |
Adds env variable `CLAUDE_FLOW_MAX_UNCERTAINTY` to override maximum uncertainty threshold. Adds env variable `CLAUDE_FLOW_MAX_UNCERTAINTY` to override maximum uncertainty threshold. Source: llm_adapter@2026-05-31 Confidence: high |
— |
| Feature | Low |
Adds four regression tests covering router behavior, cold-start preservation, env override, and daemon promise handling. Adds four regression tests covering router behavior, cold-start preservation, env override, and daemon promise handling. Source: llm_adapter@2026-05-31 Confidence: high |
— |
| Bugfix | Medium |
Model router escalation now skips when target mean is worse than selected or selected has confident posterior. Model router escalation now skips when target mean is worse than selected or selected has confident posterior. Source: llm_adapter@2026-05-31 Confidence: high |
— |
| Bugfix | Medium |
Daemon worker trigger now awaits headless executor initialization promise to prevent race condition. Daemon worker trigger now awaits headless executor initialization promise to prevent race condition. Source: llm_adapter@2026-05-31 Confidence: high |
— |
Full changelog
Bug fixes
#2250 — model router escalation overrode Thompson bandit
Trained opus-suppressed priors were discarded by an "escalate one tier up" step that fired on ~every trivial route (the uncertainty formula was structurally >0.6, gate at 0.15). Reporter (@grym3s) measured opus selected ~40% on trivial tasks, haiku never selected.
Fix in v3/@claude-flow/cli/src/ruvector/model-router.ts:
- Escalation now skips when (a) target mean is meaningfully worse than selected (
< selected_mean − 0.10), OR (b) selected has confident+decent posterior (α+β ≥ 5ANDmean ≥ 0.45) - Cold-start
Beta(1,1)priors fail both checks → unlearned routers preserve original conservative behavior - New env override:
CLAUDE_FLOW_MAX_UNCERTAINTY=0.0..1.0
#2251 — daemon trigger -w <worker> raced headless init
Constructor kicked off initHeadlessExecutor() fire-and-forget. On-demand daemon trigger called triggerWorker() immediately after construction, raced the init, and fell through to the local stub in ~2ms. Scheduled fires were unaffected (long-running daemon never raced). Reporter (@shaharKeisarApps).
Fix in v3/@claude-flow/cli/src/services/worker-daemon.ts:
- New
headlessInitPromisefield capturing the constructor's init promise triggerWorker()awaits it before checkingheadlessAvailable
Regression guard
v3/@claude-flow/cli/__tests__/issue-2250-2251-regression.test.ts — 4 new tests:
- Loads reporter's exact suppressed-opus prior, asserts opus rate <20% AND haiku selected ≥1 time over 50 trivial routes
- Cold-start preservation
- Env override
- Deferred-promise harness proves
executeWorker()cannot fire untilheadlessInitPromiseresolves
All 12 router + daemon tests pass. TypeScript clean.
Install
npx ruflo@latest # or @alpha / @v3alpha
npx @claude-flow/cli@latest
npx claude-flow@latest
All three packages published to npm, all three dist-tags (latest, alpha, v3alpha) pointing at 3.10.31.
What's NOT in this release
5-dataset BEIR benchmark work (TREC-COVID ingest still in flight) → ships as 3.10.32.
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]