v3.10.17
ruvnet/ruflov3.10.17May 30, 2026by ruvnet
AI Summary
Release v3.10.17 introduces pretrain self-learning from GitHub history (ADR-077), solving the day-one empty state problem where fresh ruflo installs started with zero patterns and zero trajectories. The script harvests commits and issues to seed the neural store through the same code paths real-time learning uses, achieving 100% retrieval match rate at ~3ms per item.
Key Highlights
- Pretrain self-learning from repo's GitHub history (commits + issues) - ADR-077
- Solves day-one '0 patterns, 0 trajectories' problem with one-liner script
- Uses same code paths as real-time learning (distillAndSerialise → recordTrajectory → neural store)
- Fixed ADR-075 consistency issue by writing to both globalStats and neural_patterns stores
- Achieved 100% retrieval match rate (10/10) with 3.36ms avg latency per item
New Features
- scripts/pretrain-from-github.mjs - env-configurable harvester (COMMITS, ISSUES, SOURCE, BENCH_JSON)
- scripts/benchmark-pretrained-retrieval.mjs - after-pretrain retrieval validator
- __tests__/pretrain-from-github.test.ts - CI guard with embedded fixture
- v3/docs/adr/ADR-077-pretrain-from-history.md - ADR documentation
- v3/docs/learning/self-learning-usage.md - comprehensive usage guide covering all learning paths
Full Release Notes
## What ships **Pretrain self-learning from a repo's GitHub history** (ADR-077). One script, zero config, ~3 ms per trajectory. Turns the day-one "0 patterns, 0 trajectories" problem into a one-liner. ```bash node v3/@claude-flow/cli/scripts/pretrain-from-github.mjs # → 80 trajectories trained from 50 commits + 30 issues # → +95 trajectoriesRecorded, +85 patternsLearned, +80 neuralPatternCount # → 100% retrieval match rate across 10 sample queries ``` ## Why ADR-074–076 (3.10.14–3.10.16) fixed *honesty*, *coherence*, and *retrieval quality*. But a fresh ruflo install still started empty — every "did learning happen?" call legitimately returned 0 until many real sessions had run. This release closes that gap by seeding from a signal source every repo already has: its own commits and issues. Each item flows through the same code paths real-time learning uses (no shortcuts) — distillAndSerialise (ADR-076) → recordTrajectory (ADR-074) → neural store seed. That also closes the ADR-075 consistency note "globalStats moved but neural_patterns stayed empty" by writing to both stores from the same script. ## Measured proof | | Before | After | Δ | |---|---:|---:|---:| | trajectoriesRecorded | 0 | 95 | +95 | | patternsLearned | 0 | 85 | +85 | | neuralPatternCount | 15 | 95 | +80 | | Trained / harvested | — | — | **80/80** | | Avg pretrain latency | — | — | **3.36 ms/item** | | Retrieval match rate (N=95) | — | — | **100% (10/10)** | | Avg query latency | — | — | **7.67 ms** | Run JSONs: - `docs/benchmarks/runs/pretrain-from-github-latest.json` - `docs/benchmarks/runs/pretrained-retrieval-latest.json` ## What's in the box - `scripts/pretrain-from-github.mjs` — env-configurable harvester (`COMMITS`, `ISSUES`, `SOURCE`, `BENCH_JSON`) - `scripts/benchmark-pretrained-retrieval.mjs` — after-pretrain validator - `__tests__/pretrain-from-github.test.ts` — CI guard with embedded fixture (no live git/gh in tests; auto-picked-up by v3-ci.yml) - `v3/docs/adr/ADR-077-pretrain-from-history.md` - `v3/docs/learning/self-learning-usage.md` — copy-paste guide covering all three learning paths plus pretrain ## Reproduce ```bash git clone https://github.com/ruvnet/ruflo && cd ruflo npm install && ( cd v3/@claude-flow/cli && npx tsc -b ) node v3/@claude-flow/cli/scripts/pretrain-from-github.mjs node v3/@claude-flow/cli/scripts/benchmark-pretrained-retrieval.mjs ( cd v3/@claude-flow/cli && npx vitest run __tests__/pretrain-from-github.test.ts ) ``` ## Honest limits - Standalone-process drift: when the script runs outside the live MCP daemon, `sonaCoordinator` and `memory-bridge` start empty. The script's consistency block flags this explicitly. From inside the daemon both stores are warm. - 100% match-rate ≠ semantic relevance. Pretrain proves the wiring; ADR-076's MRR benchmark is the right gauge for relevance quality. - Commits are all recorded as `success` (no outcome signal). A "was this commit reverted?" verdict refinement is tracked for follow-up. ## Install ```bash npx ruflo@3.10.17 # or @latest npx ruflo@alpha # legacy compat npx ruflo@v3alpha # legacy compat ``` All three packages (`@claude-flow/cli`, `claude-flow`, `ruflo`) are at 3.10.17 on `latest`, `alpha`, and `v3alpha`.