v3.8.0

ruvnet/ruflov3.8.0May 24, 2026by ruvnet

AI Summary

This release (v3.8.0) introduces full rvagent integration via ADR-129, adding 16 new MCP tools for WASM agent gallery & introspection and unlocking all 314 MCP tools to WASM agents through the wasm_agent_compose addMcpTools bridge. The update also delivers significant performance improvements (2.4× faster compose operations) and benchmarks showing SOTA performance compared to LangGraph, AutoGen, and CrewAI.

Key Highlights

  • Full rvagent integration with 16 new MCP tools (10 CRUD + 6 query) for WASM agent gallery & introspection
  • wasm_agent_compose now unlocks all 314 MCP tools to WASM agents via addMcpTools bridge
  • Performance improved 2.4× (compose_50_tools: 0.351ms → 0.146ms) with 4 hot-path optimizations
  • SOTA benchmarks: 3.93ms cold start, 0.012ms single turn, 61.6MB RSS — beating LangGraph, AutoGen, and CrewAI
  • Fixed getBridge() to honor CLAUDE_FLOW_DISABLE_BRIDGE=1, resolving legacy-DB status backfill regression

New Features

  • 16 new MCP tools for WASM agent gallery & introspection (10 CRUD + 6 query)
  • wasm_agent_compose with addMcpTools bridge for 314 MCP tools
  • JsModelProvider real provider routing (replaces echo-stub bypass)
  • Plugin contract: rvagent field on plugin manifest + includePlugins option in compose
  • Plugin manifest cache optimization (21-plugin overhead: 0.196ms → 0.001ms)
  • isDestructiveTool fast-path with suffix check before regex battery
  • Hoisted Buffer import to eliminate per-call microtask
  • Memoized loadAgentWasm() with module-level promise singleton

Full Release Notes

## Highlights

**ADR-129 — Full rvagent integration** (PR #2123)
- **16 new MCP tools** for WASM agent gallery & introspection (10 CRUD + 6 query)
- **wasm_agent_compose** with `addMcpTools` bridge unlocking all 314 MCP tools to WASM agents
- **JsModelProvider** real provider routing (replaces the echo-stub bypass)
- **Plugin contract**: `rvagent` field on plugin manifest + `includePlugins` option in compose

**Fixes**
- `#2120` — `getBridge()` now honors `CLAUDE_FLOW_DISABLE_BRIDGE=1`, fixing the legacy-DB status backfill regression that caused `ruflo memory stats` to report 0 entries against pre-status-column databases

**Performance (PR #2124 — SOTA comparator benchmarks)**

4 production speedups on `wasm_agent_compose` hot path (all in `wasm-agent-tools.ts`):
- Plugin manifest cache — 21-plugin overhead: 0.196ms → 0.001ms
- `isDestructiveTool` fast-path — suffix check before 8-regex battery
- Hoisted `Buffer` import — eliminates `await import('node:buffer')` microtask per call
- Memoized `loadAgentWasm()` — module-level promise singleton for all 20 MCP handlers

**Cumulative compose_50_tools: 0.351ms → 0.146ms (2.4× improvement)**

Verified SOTA matrix vs LangGraph 1.2.1, AutoGen 0.4.9, CrewAI 0.80.0 on darwin-arm64 + linux-x64:

| Dimension | ruflo | AutoGen | LangGraph | CrewAI |
|-----------|-------|---------|-----------|--------|
| Cold start | **3.93ms** | 185ms | 534ms | 2527ms |
| Single turn | **0.012ms** | 6.13ms | 37.1ms | proxy† |
| N=10 parallel | 1.27ms | 61ms | 393ms | proxy† |
| RSS | **61.6MB** | 78.7MB | 80.3MB | 265.7MB |

† CrewAI dispatch proxied (requires real LLM).

Full methodology, Linux numbers, concurrency scale, v3.7→v3.8 delta: https://gist.github.com/ruvnet/298f8c668c8859b369f91734a0e9cbbe

**Benchmarks** (5-trial median, `bench-rvagent.mjs`)
- Provider routing: 0.025ms (fake key, router only)
- Compose 100 tools: 0.215ms
- Gallery CRUD cycle: 0.094ms
- Plugin enum (absent): 0.035ms

**Witness manifest** — ADR-129 P1–P4 fix entries registered (`verification/witness-fixes.json`, 117/117 verified)

## Install

```bash
npx ruflo@latest      # or @3.8.0 / @alpha / @v3alpha
npx claude-flow@latest
npx @claude-flow/cli@latest
```

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