Repository navigation
v3.66.0 — the learning loop for every ruflo project
Minor release: @claude-flow/cli, claude-flow, ruflo 3.66.0, plus ruflo-mods plugin 0.14.0. It contains 3.65.1 and the learning-loop follow-ups to #4581.
Added
- The learning loop on classic hooks, for every ruflo project (ADR-512, #4604).
- Until now only projects with the opt-in ruflo-mods plugin recorded verified turns and showed lessons. Every
ruflo initproject now does the same through its classic hooks. - The hooks replay the session transcript through the mod's own record and lesson code, bundled as the signed helper
.claude/helpers/learning-loop.cjs. routerecords the finished turns, then prints the lessons that fit the new prompt.session-endrecords the rest and starts a detachedruflo hooks verified-ingest --quiet.- Existing projects get the new helper the next time a newer CLI refreshes their helpers;
settings.jsonis not rewritten. - When the mod's loop is on, it announces
learning-loopinRUFLO_MODS_OWNS, so no turn is recorded twice. - To opt out, set
.claude-flow/config.jsonlearningLoop.enabledtofalse, orRUFLO_LEARNING_LOOP=0.
- Until now only projects with the opt-in ruflo-mods plugin recorded verified turns and showed lessons. Every
- Lessons say where the fix goes (ADR-511, #4603).
- A verified turn records the source files its edits changed. Absolute,
.., dot-file, secret-shaped, test and verifier-config paths are screened out. - A lesson names the three files its passing fixes edited most, and leads with them.
- Lesson matching weighs rare words up and leaves out matches far below the best one.
- Files count per pattern and anchor SONA patterns, so the same task worded differently reinforces one lesson; tasks naming disjoint paths never merge.
- A verified turn records the source files its edits changed. Absolute,
- The learning-loop eval uses the flywheel sequential-evidence gate (#4602).
scripts/eval-learning-loop.mjsprints the minimum informative pairs a run needs and refuses, before any spend, an eval split that can never reach it.
Fixed
- The startup update check now skips CI runs where
CI=1(#4608). Before, onlyCI=truewas recognised, so aCI=1run couldnpm installthe newest CLI into the working directory duringruflo init. AnyCIorCONTINUOUS_INTEGRATIONvalue other than empty,0orfalsenow counts as CI.