v3.38.4

ruvnet/ruflov3.38.4Aug 12, 2026by ruvnet

AI Summary

Fixes init flags that were silent no-ops and resolves a graph edge race condition in the hooks CLI that dropped reinforcement edges.

Key Highlights

  • Fixed `--all-agents`, `--skip-claude`, `--only-claude`, and `--cloud-mcp` flags to actually function.
  • Fixed `hooks post-task` CLI to await the async graph edge write, preventing it from being killed before completion.

Full Release Notes

## Fixes

**#2952 — `ruflo init --all-agents`, `--skip-claude`, `--only-claude`, and `--cloud-mcp` were silent no-ops.** Every long-flag write path in the parser normalizes kebab-case to camelCase before storing (`--all-agents` → `flags.allAgents`), but `initClaudeAction` read the literal kebab-case keys — which the parser never produces — so all four reads were always `undefined`. Same bug class already fixed for `--no-global` five lines above in the same function, never applied to these siblings. Fixed by reading the real normalized keys. Regression test verifies `--all-agents` now installs the full 89-agent catalog instead of the curated 17-agent default.

**#2961 — `ruflo hooks post-task` (CLI) reliably dropped the ADR-130 "reinforced-by" graph edge that the identical `hooks_post-task` MCP tool writes.** The edge write was a fire-and-forget async IIFE the handler never `await`ed — invisible from the long-running MCP server, but the CLI form is a one-shot process that calls `process.exit(0)` immediately after the command resolves, killing the still-pending write before its first tick, every time. Fixed by awaiting it.

## Links

- PR: [#2989](https://github.com/ruvnet/ruflo/pull/2989)
- PR: [#2991](https://github.com/ruvnet/ruflo/pull/2991)
- Previous release: [v3.38.3](https://github.com/ruvnet/ruflo/releases/tag/v3.38.3)