v3.10.11

ruvnet/ruflov3.10.11May 29, 2026by ruvnet

AI Summary

Fixes four user-reported bugs from the same triage round: opus alias, orphan prevention, uptime calculation, and Q-encoder. Each has a regression test.

Key Highlights

  • #2232: opus alias bumped to claude-opus-4-8, executeAgentTask uses resolveAnthropicModel
  • #2234: Parent-death watchdog prevents ~50MB orphans on restart
  • #2235(B): uptime now reads process.uptime() instead of persisted timestamp
  • #2239: Q-state encoder mixes all 16 quantized groups via 32-bit FNV-1a

New Features

  • Model alias resolution (opus-4.8, opus-4.7)
  • Parent-death watchdog for orphan prevention
  • Process uptime via process.uptime()
  • Q-state encoder v2 with 32-bit FNV-1a mixing

Full Release Notes

Fixes four user-reported bugs from the same triage round, each with a regression test:

- **#2232** — `opus` alias bumped to `claude-opus-4-8` (with `opus-4.7` reachable); `executeAgentTask` now uses `resolveAnthropicModel` so literal `claude-*` ids stop silently downgrading to Sonnet 4.6.
- **#2234** — Parent-death watchdog in `ruflo mcp start`: exits cleanly when reparented to launchd/init (Claude Code exited). Stops ~50 MB orphans accumulating per restart and a stale orphan winning the stdio handshake.
- **#2235(B)** — `system_status.uptime` now reads `process.uptime()` instead of a persisted file timestamp (no more ~8.8-day uptime on a fresh server). Part (A) is upstream in the bundled `agentdb` package.
- **#2239** — Q-state encoder now mixes all 16 quantized groups via 32-bit FNV-1a (the prior 31-bit fold silently discarded the entire keyword block). `encoderVersion=2` bumped in the persisted model; v1 Q-tables auto-reset on load.

**Tests:** 17 new regression tests across these four issues; full CLI suite 62 files / 2104 passed / 46 skipped / 0 failed.

**Install:** `npx ruflo@3.10.11`