From ee8da61113b467254d88bf1f4c60cb664337d345 Mon Sep 17 00:00:00 2001 From: Chris Phillipson Date: Fri, 29 May 2026 14:38:04 -0700 Subject: [PATCH] feat: self-improvement eval harness + upstream findings (decoupled from blocked statusline panel) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Lands the completed, standalone parts of the self-improvement investigation as new files only (no shell/statusline/resync changes): the in-process route Q-learner proof harness (ruflo-improvement-eval), the retired version-gated route-learning shim, the findings writeup, and the historical plan/spec. The findings doc is reconciled to truth-of-record: F3 and F4 are filed as two separate, independently-reproduced upstream issues (ruvnet/ruflo#2239, ruvnet/ruvector#519), F4's framing corrected against actual ruvector source (learn_from_feedback no-op + single-step REINFORCE Δ=0 + up-only adaptation, not 'apply() inert'). The live RL statusline panel carry-forward is tracked in #8, gated on both upstream fixes. Supersedes PR #2 (closed unmerged): same artifacts, conflict-free as new files, with the blocked statusline-coupled work left to #8. --- CLAUDE.md | 50 ++ bin/ruflo-improvement-eval | 218 ++++++ bin/ruflo-patch-route-learning | 118 ++++ .../plans/2026-05-28-self-improvement-eval.md | 638 ++++++++++++++++++ ...2026-05-28-self-improvement-eval-design.md | 283 ++++++++ .../ruflo-self-improvement-findings.md | 164 +++++ 6 files changed, 1471 insertions(+) create mode 100644 CLAUDE.md create mode 100755 bin/ruflo-improvement-eval create mode 100755 bin/ruflo-patch-route-learning create mode 100644 docs/superpowers/plans/2026-05-28-self-improvement-eval.md create mode 100644 docs/superpowers/specs/2026-05-28-self-improvement-eval-design.md create mode 100644 docs/upstream/ruflo-self-improvement-findings.md diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 00000000..b567c4b6 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,50 @@ + + +# ruflo-machine-ref — project notes + +This repo **is** the kit that installs/repairs ruflo + agentic-qe machine-wide. It is not a +typical app — it's a set of Bash + Node (ESM) helpers plus a managed block that gets merged +into the global `~/.claude/CLAUDE.md`. Anything generic (rules, SendMessage coordination, +swarm defaults, the ruflo CLI reference) is in the **global** `~/.claude/CLAUDE.md`; this file +holds only what's specific to developing *this* repo. + +## Layout + +| Path | What it is | +|------|------------| +| `bin/` | Standalone helpers (`ruflo-enable-learning`, `ruflo-patch-native`, `ruflo-improvement-eval`, …). Each sources `ruflo-lib.sh` and supports `--help`. | +| `shell/ruflo-functions.sh` | Shell functions sourced into the user's rc (`ruflo-resync`, `ruflo-onboard`, `ruflo-reference-refresh`, …). | +| `shell/ruflo-lib.sh` | Shared helpers (colors, `run`/`have`, daemon parser, native-better-sqlite3 primitives). Deployed to `~/.config/ruflo/` so `bin/` scripts can source it from a stable path. | +| `claude/ruflo-reference.md` | The machine-wide reference block. `install.sh` stages it to `~/.config/ruflo/claude-md-template.md` and merges it into `~/.claude/CLAUDE.md` between `` sentinels. | +| `install.sh` / `uninstall.sh` | Entry points (idempotent; honor `DRY=1`). | +| `docs/` | `BACKGROUND.md`, `TROUBLESHOOTING.md`, `upstream/` (findings filed upstream), `superpowers/{plans,specs}/` (dated design records — keep as history). | + +## Build & test (there is no build system) + +No `package.json`, no Makefile, no CI. Validate changes with: + +```bash +bash -n shell/*.sh bin/