v3.22.0

ruvnet/ruflov3.22.0Jul 4, 2026by ruvnet

AI Summary

Enhances memory distillation, adds page-agent intent via browser_act MCP tool, and implements signed hook auto-refresh.

Key Highlights

  • Memory distillation self-learning loop mines memory entries for reasoning patterns
  • Failure-signal capture in hooks (real failures, not hardcoded success)
  • New 'browser_act' MCP tool for page-agent intent
  • Ed25519 signed manifest for tamper-proof hook auto-refresh

New Features

  • Memory distillation loop
  • browser_act MCP tool
  • Signed hook auto-refresh
  • Failure-signal capture

Full Release Notes

## Highlights
- **ADR-174 — Memory distillation self-learning loop.** The daemon's `consolidate` worker was a stub writing zeros; it now really mines `memory_entries` → episodes → reasoning_patterns (+embeddings) → weak relational edges. $0 default, incremental, non-destructive, provenance-gated (ADR-171). `memory distill run|status|config` CLI + self-optimization (`distill-tuning`). Trains the local SONA/MoE model on your own memory.
- **Failure-signal capture.** Hooks recorded a hardcoded `success:true` (898/898, 0 failures) — now they read Claude Code's PostToolUse outcome and record real failures, so the oracle tier finally has negative examples.
- **ADR-175 — page-agent browser intent.** New `browser_act` MCP tool: natural-language intents on top of the selector tools. Strips page-agent's demo auto-connect to Alibaba's sandbox (fail-closed firewall) and proxies the LLM key so it never enters page context.
- **Version-stamped helper auto-refresh (secured).** Hook fixes now propagate to every project on the next `ruflo` command — no re-init — gated by an **Ed25519 signed manifest** (key in GCP Secret Manager); a tampered helper is refused, not propagated.

Also: statusline vector-count + corruption auto-recovery (#2569), memory-search recall (#2558), agenticow/memory perf.

All backward-compatible additions. 3-package train (`@claude-flow/cli`, `claude-flow`, `ruflo`) at 3.22.0.

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