v3.10.43

ruvnet/ruflov3.10.43Jun 12, 2026by ruvnet

AI Summary

A patch release addressing critical bugs including a temperature parameter error for newer Anthropic models and outdated OpenRouter model slugs, while introducing daemon resource management improvements.

Key Highlights

  • Fixes 400 errors for Fable 5 and Opus 4.x models by adding a predicate to reject sampling parameters.
  • Refreshes OpenRouter slugs to the current 4.x family (Sonnet 4.6, Haiku 4.5, Opus 4.8).
  • Introduces self-terminating TTL and idle shutdown for daemons to prevent quota burning.
  • Adds global daemon status reporting and improved HNSW reporting.
  • Caps federation plugin peer dependency to prevent silent fallbacks.

New Features

  • Daemon self-terminating TTL and idle shutdown mechanism.
  • Global daemon status reporting (`daemon status --all`).

Full Release Notes

Patch release bundling four bug fixes landed since 3.10.42.

## Fixes

### #2358 — agent_execute 400s every current frontier Anthropic model (HIGH)
`callAnthropicMessages()` always sent `temperature` (default 0.7), but Fable 5, Opus 4.8, and Opus 4.7 removed `temperature` / `top_p` / `top_k`. Every request returned `400 invalid_request_error: temperature: Extra inputs are not permitted`. Invisible on Claude-Max (no key → provider check short-circuits before fetch); fatal on a raw `ANTHROPIC_API_KEY`. New `modelRejectsSamplingParams(model)` predicate gates the field; Sonnet 4.6 / Haiku 4.5 / Opus ≤ 4.6 unchanged. Closes #2357 Finding A. (HF-teamdev — first-time contributor, thank you for the file:line-cited finding map.)

### #2365 — OpenRouter slugs refreshed to current 4.x family
The OpenAI-compat path still referenced the Oct-2025 retired model IDs:
- default model: `anthropic/claude-3.5-sonnet` → `anthropic/claude-sonnet-4-6`
- `haiku` alias: `anthropic/claude-3.5-haiku` → `anthropic/claude-haiku-4-5`
- `sonnet`/`inherit` alias: `anthropic/claude-3.5-sonnet` → `anthropic/claude-sonnet-4-6`
- `opus` alias: `anthropic/claude-3-opus` → `anthropic/claude-opus-4-8`

`OPENROUTER_DEFAULT_MODEL` still wins for callers who want to pin a specific slug. Closes #2357 Finding C.

### #2361 — daemon self-terminating TTL + global status + HNSW/init footguns
Community PR by @shaal addressing @pacphi's [ruflo-machine-ref](https://github.com/pacphi/ruflo-machine-ref) investigation. The daemon used to run interval workers (audit ~30m, optimize/testgaps ~60m, …) forever, each spawning a headless `claude --print` sweep. Audited evidence traced a Max-plan quota burned in 1–2 days to 6 immortal daemons (oldest 19 days) and a recurrence to 17 per-project daemons (34,533 total worker runs — ~94% of token spend was background machinery). This release adds: self-terminating TTL, idle shutdown, `daemon status --all` (global, not just current workspace), honest HNSW reporting, init footgun guards. Closes #2360.

### #2364 — federation plugin: cap agentic-flow peer to <2.0.13
Upstream `agentic-flow@2.0.13` dropped the `./transport/loader` subpath. Runtime impact was bounded — `midstream-aware-loader.ts` wraps the dynamic import in try/catch and falls back to midstream-native — but the peer range previously said `>=2.0.12-fix.8` and silently accepted 2.0.13. Tightened to `>=2.0.12-fix.8 <2.0.13` so npm install warns about the incompat instead of hiding it behind a silent fallback.

## Still open from #2357

- **Finding B (Fable routing tier RFC, PR #2359)** — behavior-neutral, 21/21 tests green, awaiting maintainer decision before the June 22 Max-plan API-credits window. Review comment on the PR lays out the three design calls.

## Install / upgrade

```bash
npx ruflo@latest init        # 3.10.43
npx @claude-flow/cli@latest  # 3.10.43
```

All three packages (`@claude-flow/cli`, `claude-flow`, `ruflo`) and all three dist-tags (`latest`, `alpha`, `v3alpha`) verified at 3.10.43.

## Diff

main…v3.10.42 — PRs #2358, #2361, #2364, #2365 plus the release bump.

🤖 Generated with [RuFlo](https://github.com/ruvnet/ruflo)