v3.24.0
ruvnet/ruflov3.24.0Jul 5, 2026by ruvnet
AI Summary
Introduces the Self-Learning Flywheel which optimizes retrieval policies, applies verified improvements automatically, and uses signed config propagation.
Key Highlights
- Verified retrieval improvement auto-applied via signed config champion
- Self-optimizing flywheel compounds verified policy improvements
- Shadow-first deployment with rollback canary for regressions
- Meta-learning biases search toward high-payoff policy axes
New Features
- Self-optimizing flywheel
- Signed config propagation
- Automatic policy updates
- Shadow-first deployment
Full Release Notes
## ruflo 3.24.0 โ The Self-Learning Flywheel ruflo can now improve one of its own operating policies over time and **prove** each improvement is real โ not marketing. Merges #2572 (ADR-176 self-optimizing flywheel + ADR-177 signed config propagation). ๐ **Full write-up (plain language + technical + usage + upgrade notes):** https://gist.github.com/ruvnet/f8e2851fd307df5d5de7b5c70c37fa0c ### What's new - **Verified retrieval improvement, auto-applied to every install.** A **signed** config champion (Ed25519 + RVFA) is adopted on startup, **fail-closed** on authenticity *and* suitability. Better retrieval defaults out of the box, +0.0738 nDCG@3 over the previously-tuned baseline. No re-init needed. - **Self-optimizing flywheel (opt-in, $0 default).** The background daemon compounds *verified* retrieval-policy improvements: each generation reads the persisted champion as baseline, gates a candidate on a **frozen** held-out with a **significance** test (`accept/v1+sig`) + human-relevance guard + a **separate** canary, and on promotion advances the champion so the next tick builds on it. Winners accumulate into a signed, **independently-replayable** lineage back to an immutable root (git-for-operating-policies). - **Shadow-first / no auto-serve + drift canary.** Promoted champions serve only after a one-generation shadow delay; a canary re-scores on the evolving store each tick and **auto-rolls-back** regressions. - **Meta-learning.** The optimizer biases its search toward policy axes with measured historical payoff. - **Proof, not assertion.** Receipt bundles replay independently *without trusting our logs*; a CI guard keeps the shipped evidence valid on every PR. Demonstrated live: two real, significant, compounding promotions (self-retrieval RR **0.496 โ 0.758 โ 0.847**), human relevance preserved, zero human intervention. > **Honest scope:** the flywheel's compounding gains are on a **self-supervised** retrieval benchmark, gated so human-labeled relevance does not regress โ not a claim that human relevance improved generation-over-generation (held flat by design). The auto-applied one-shot champion *was* tuned on human-labeled relevance. ### Upgrade ```bash npx ruflo@latest # or npx ruflo@3.24.0 ``` Backwards-compatible / additive ยท signing keys unchanged ยท the flywheel is **off unless** `RUFLO_HARNESS_LOOP=1`. **Packages:** `@claude-flow/cli@3.24.0` ยท `claude-flow@3.24.0` ยท `ruflo@3.24.0` ๐ค Generated with [RuFlo](https://github.com/ruvnet/ruflo)