{"id":50358654,"url":"https://github.com/pacphi/ruflo-machine-ref","last_synced_at":"2026-05-30T00:01:29.171Z","repository":{"id":361052998,"uuid":"1252708837","full_name":"pacphi/ruflo-machine-ref","owner":"pacphi","description":"Make ruflo + Claude Code rock-solid on modern Node (24/26): native SQLite (no silent data loss), ~84k fewer tokens per session, and configure-once-per-machine setup that keeps every repo clean. A thin, reversible layer over ruflo.","archived":false,"fork":false,"pushed_at":"2026-05-29T01:41:40.000Z","size":33,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-29T03:21:59.512Z","etag":null,"topics":["anthropic","better-sqlite3","claude","claude-code","developer-tools","mcp","nodejs","ruflo"],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pacphi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-28T19:41:26.000Z","updated_at":"2026-05-29T01:41:44.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/pacphi/ruflo-machine-ref","commit_stats":null,"previous_names":["pacphi/ruflo-machine-ref"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/pacphi/ruflo-machine-ref","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pacphi%2Fruflo-machine-ref","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pacphi%2Fruflo-machine-ref/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pacphi%2Fruflo-machine-ref/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pacphi%2Fruflo-machine-ref/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pacphi","download_url":"https://codeload.github.com/pacphi/ruflo-machine-ref/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pacphi%2Fruflo-machine-ref/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33675019,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-29T02:00:06.066Z","response_time":107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["anthropic","better-sqlite3","claude","claude-code","developer-tools","mcp","nodejs","ruflo"],"created_at":"2026-05-30T00:01:29.072Z","updated_at":"2026-05-30T00:01:29.157Z","avatar_url":"https://github.com/pacphi.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🧰 ruflo-machine-ref\n\n**A small, friendly setup kit that makes [ruflo](https://github.com/ruvnet/ruflo) actually work the way it promises — reliable memory, *active* self-learning, verified security, and an at-a-glance status line — especially on modern Node (24/26), where a stock install quietly breaks in ways that still look \"green.\"**\n\n\u003e One-time setup per machine. One command to heal after upgrades. Nothing committed to your repos unless you mean it.\n\n---\n\n## 🤔 What is this, in plain words?\n\n[**ruflo**](https://github.com/ruvnet/ruflo) is an AI orchestration toolkit for [Claude Code](https://claude.com/claude-code) — it gives your AI assistant a memory that survives across sessions, the ability to learn from what works, multi-agent coordination, and security scanning.\n\nThe catch: on the versions of Node.js most developers run today, ruflo **silently falls back to a degraded mode**. It still says \"✅ OK\", but underneath:\n\n- 💾 the **memory** that's supposed to persist… doesn't (writes vanish),\n- 🧠 the **self-learning** that's supposed to be on… stays asleep,\n- 🎓 the optional **quality-engineering** add-on won't even finish installing,\n- 📟 and you have no easy way to *see* which of these is actually working.\n\nThis kit closes all of those gaps with a few small, reversible helper scripts — and gives you a **status line** that shows, at a glance, exactly what's live.\n\n\u003e 🙂 **Not a developer?** You only need three commands: `./install.sh` (once), then `ruflo-onboard` inside a project, and `ruflo-resync` after any upgrade. The rest of this README explains the \"why\" for the curious.\n\n---\n\n## ⚡ The 30-second version\n\n| You want… | Stock ruflo on Node 24/26 | With this kit |\n|---|---|---|\n| 💾 Memory that persists across sessions | Says \"saved\" but loses data | Saves for real, and **verifies** it landed on disk |\n| 🧠 Self-learning that's actually on | Reports \"Not loaded\" | **Active \u0026 proven** (trains → patterns persist) |\n| 🛡️ Security scanning | Ships but undocumented/unverified | **Verified**: scan, secrets, prompt-injection defense |\n| 🎓 Agentic-QE quality fleet (optional) | `aqe init` fails on Node 24/26 | **Installs cleanly** (same bug, auto-fixed) |\n| 📟 Knowing what's active | No indication | **Status-line footer** shows 🧠 / 🛡️ / 🎓 live |\n| 🔁 Surviving an upgrade | Re-breaks silently every upgrade | **`ruflo-resync`** — one command re-heals everything |\n| 💰 Token budget | ~84k tokens/session of MCP tool defs | MCP optional; CLI-first saves the tokens |\n\n---\n\n## 🧩 What's actually wrong (the short story)\n\nModern Node.js (24 and 26) changed its native-addon ABI. ruflo's deeper dependencies pin an **old `better-sqlite3`** that has no prebuilt binary for those Node versions and won't compile against them. npm treats it as optional and **skips it silently**, so ruflo drops to a pure-JavaScript SQLite fallback whose write path **loses data** — while still printing success.\n\nThat single root cause cascades:\n\n1. 💾 **Memory loss** — the headline symptom.\n2. 🧠 **Dormant self-learning** — the same missing binary keeps the ruvector engine (SONA, HNSW, ReasoningBank) asleep.\n3. 🎓 **Agentic-QE won't initialize** — it's a *separate* package ([`agentic-qe`](https://github.com/proffesor-for-testing/agentic-qe)) with the *same* bug.\n\n\u003e 📎 **A note on prior art.** A colleague, **Ciprian Melian**, wrote an excellent project-scoped repair kit as a gist ([link](https://gist.github.com/ciprianmelian/eb7e8ff7d24018141ca34bb8a7e216a6)) that pairs ruflo with agentic-qe. This kit builds on those ideas but takes a **machine-wide, upgrade-safe** approach — and our investigation found that several of the gist's source patches are now **already upstream in ruflo 3.10.5** (the real remaining lever is the missing native binary, not the source patches). The full story is in [docs/BACKGROUND.md](docs/BACKGROUND.md).\n\nThe deep dive — ABI tables, the exact files, why \"HNSW: Not loaded\" is a cosmetic lie — lives in **[docs/BACKGROUND.md](docs/BACKGROUND.md)**.\n\n---\n\n## ✨ What this kit gives you\n\n- 🩹 **Native SQLite, everywhere ruflo needs it** — `ruflo-patch-native` swaps the broken dependency for one that works on Node 24/26.\n- 🧠 **Activated + *proven* self-learning** — `ruflo-enable-learning` turns ruvector on and asserts it (5 real capability probes, not the misleading status text); `ruflo-learning-verify` trains a cycle and confirms patterns persist to disk.\n- 🛡️ **Verified security surface** — `ruflo-security-verify` confirms `@claude-flow/security` + `@claude-flow/aidefence` load, that prompt-injection defense actually fires, and flags the known CVE-database gap.\n- 🎓 **Opt-in agentic-qe** — `ruflo-setup-aqe` fixes the same native-SQLite bug in agentic-qe, then initializes it (with half-init repair).\n- 📟 **A status-line footer** that shows 🧠 self-learning, 🛡️ security, and 🎓 agentic-qe — each only when genuinely active.\n- 🔁 **`ruflo-resync`** — one command to re-apply *everything* after a ruflo or agentic-qe upgrade.\n- 🧹 **Clean repos \u0026 cheap sessions** — strips MCP cruft `ruflo init` would commit, pins an absolute memory path, and keeps MCP optional to save ~84k tokens/session.\n- ↩️ **Reversible** — `uninstall.sh` backs up and removes the machine-level setup; `--this-project` also reverts a repo's statusline patches.\n\n---\n\n## ✅ Prerequisites\n\nThis kit *configures and heals* ruflo — it doesn't bundle it. You need a few\nthings on your machine first. `install.sh` checks for these and can install the\nnpm packages for you (interactively, or via flags).\n\n**Required (install.sh aborts if missing):**\n\n| Tool | Why | Get it |\n|---|---|---|\n| Node.js (20–26 supported) | runtime for ruflo \u0026 the helpers | \u003chttps://nodejs.org\u003e |\n| npm | installs the global packages | ships with Node.js |\n| `ruflo` | the orchestration toolkit this kit configures | `npm i -g ruflo` (install.sh can do this) |\n\n**Recommended (install.sh warns, then continues):**\n\n| Tool | Why |\n|---|---|\n| `claude` (Claude Code) | the agent this all runs inside |\n| `sqlite3` | the status line + memory verifications read the DBs |\n| `git` | to clone/update this kit |\n\n**Optional (only for the QE fleet):**\n\n| Tool | Why | Get it |\n|---|---|---|\n| `agentic-qe` (`aqe`) | the standalone quality-engineering fleet (🎓 segment) | `npm i -g agentic-qe` (install.sh `--with-aqe`) |\n\n\u003e 🔑 **\"Security\" and \"learning\" are not separate installs.** `@claude-flow/security`,\n\u003e `@claude-flow/aidefence`, and the ruvector self-learning engine all ship *inside*\n\u003e ruflo — this kit *activates and verifies* them. So the \"full boat\" is just two\n\u003e npm packages (`ruflo` + `agentic-qe`); the kit lights up the rest.\n\n---\n\n## 🚀 Quick start\n\nThe fastest path — install the kit, prereqs, and heal in one go:\n\n```bash\n# 1. Get the kit\ngit clone https://github.com/pacphi/ruflo-machine-ref.git \u0026\u0026 cd ruflo-machine-ref\n\n# 2. Bootstrap the machine (pick your level)\n./install.sh                 # friendly interactive onboard (asks per step)\n./install.sh --full --yes    # \"full boat\": ruflo + agentic-qe + heal, no prompts\n./install.sh --ruflo-only    # just ruflo + heal\n./install.sh --minimal       # only lay down the kit files (you have the prereqs)\nexec $SHELL                  # load the helper functions\n\n# 3. In any project you work in\ncd ~/my-project\nruflo-onboard                # clean setup + prove self-learning persists, in one step\nruflo-onboard --aqe          # …and also initialize the agentic-qe fleet here\n```\n\nTry `./install.sh --dry-run` first to preview exactly what it will do.\n\n🪙 **Prefer CLI-only (no MCP, ~84k tokens saved per session)?** Skip\n`ruflo-setup-machine`; the installed `~/.claude/CLAUDE.md` reference teaches\nClaude Code to drive ruflo through plain Bash.\n\n---\n\n## 🛠️ The commands\n\n| Command | What it does |\n|---|---|\n| 🔁 `ruflo-resync [--aqe]` | **The one you'll use most.** After any ruflo/agentic-qe upgrade, re-applies everything the upgrade wipes: native SQLite (ruflo + agentic-qe) + self-learning assert + statusline footer. `--aqe` also refreshes QE skills. |\n| 📂 `ruflo-onboard [--with-security] [--aqe]` | **Per-repo, run from inside it.** One command: clean `setup-project` → prove learning persists → (`--aqe`) initialize agentic-qe. Prints what's active + what's next. |\n| 🏗️ `ruflo-setup-project [--with-security]` | Per repo: clean init, strip MCP cruft, pin an absolute DB path, native patch, activate memory/swarm/daemon, **verify a write persists**, sanitize CLAUDE.md, heal the status line. `--with-security` adds a security pass. |\n| 🩹 `ruflo-patch-native [--check]` | Make ruflo's agentdb use native `better-sqlite3` on Node ≥24. |\n| 🧠 `ruflo-enable-learning [--check]` | Activate ruvector self-learning and assert it (5 capability probes). |\n| ✅ `ruflo-learning-verify [--keep]` | Prove the learning loop: train in an isolated dir, assert patterns persist 0 → N on disk. |\n| 🎚️ `ruflo-neural-train [args…]` | Wraps `ruflo neural train` in the current project and caches the MicroLoRA Δ for the status-line SONA segment (ruflo doesn't persist it). Args pass through. |\n| 🛡️ `ruflo-security-verify [--quick]` | Verify `@claude-flow/security` + `aidefence` load, injection defense fires, scan/secrets run; flag the CVE-DB gap. |\n| 🎓 `ruflo-setup-aqe [--force]` | **Opt-in.** Fix agentic-qe's native-SQLite bug, then initialize it in a repo (with half-init repair). |\n| 💾 `ruflo-memory-checkpoint [db]` | Force a WAL checkpoint to recover stale memory reads. |\n| 🧽 `ruflo-remove-mcp` | Remove ruflo MCP from **all** scopes (recover ~84k tokens/session). |\n| 📇 `ruflo-setup-machine` | One-time: register ruflo MCP at **user** scope (all projects). Optional. |\n| 🔍 `ruflo-parity-test [--cleanup]` | 20-check end-to-end memory smoke test in an isolated `/tmp` dir. |\n| 📝 `ruflo-reference-refresh [--diff\\|--regenerate]` | Inspect/rebuild the machine-wide CLAUDE.md ruflo block from the template. |\n\n---\n\n## 🧭 Which command do I run?\n\n**`install.sh` is the front door you walk through once; the functions are how you live in the house.**\n\n| | `install.sh` | The functions |\n|---|---|---|\n| **Nature** | a script run *from the kit repo* | commands on your `PATH`, available everywhere after install |\n| **Frequency** | once per machine (+ rarely, to re-lay the kit) | ongoing, day-to-day |\n| **Scope** | machine-level bootstrap | machine-recurring **and** per-project |\n\nOn first run the functions aren't sourced yet, so `install.sh` sources them\nin-process and calls the *same* `ruflo-patch-native` / `ruflo-enable-learning`\nto heal — one source of truth, no drift. After that you never need `install.sh`\nfor healing again.\n\n| Situation | Run this | Why not the other |\n|---|---|---|\n| 🆕 Brand-new machine | **`install.sh`** | nothing's on PATH yet — only the script can bootstrap |\n| 🔁 Re-cloned kit / new shell / wiped `~/.local/bin` | **`install.sh`** | re-lays the kit files (idempotent, backs up) |\n| ⬆️ After `npm i -g ruflo@latest` (or aqe) | **`ruflo-resync`** | the upgrade only wiped native binaries — re-running install.sh is the heavier wrong tool |\n| 📂 Starting in a new repo | **`ruflo-onboard`** | per-project; install.sh is machine-level and won't touch your repo |\n| 🔍 Routine checks | **functions** (`ruflo-parity-test`, `ruflo-learning-verify`) | no reason to re-bootstrap |\n\n**Rule of thumb:**\n- *\"I'm setting up\"* → `install.sh` (once).\n- *\"I upgraded ruflo/aqe\"* → `ruflo-resync`.\n- *\"I'm starting work in a repo\"* → `ruflo-onboard`.\n\n---\n\n## 📟 The status line\n\nWhen set up with this kit, a two-line footer is appended **below** ruflo's own status line. It's append-only — it never rewrites ruflo's lines, so a ruflo update can't break it. Each piece appears **only when that feature is genuinely active**:\n\n```\n▊ RuFlo V3.10.5 ● you  │  ⏇ main  │  Opus 4.x        ┐\n🏗️  DDD Domains … 🤖 Swarm … 🔧 Architecture …       │ ruflo's own lines + the kit's\n📊 AgentDB …                                          │ SONA/aidefence line (all ruflo)\n🧠 SONA  [●●●●●]  50 patterns · 55 traj · Δ1.32 LoRA · ⚡ HNSW      🛡 aidefence on  ┘\n─────────────────────────────────────────────────────  ← divider (matches ruflo's header rule)\n🎓 Agentic QE V3.10.1  🎓 23 patterns · 🧭 114 traj · 🧬 543 vec⚡ · 💾 16MB\n```\n\nEvery field renders only when its data is actually present (numbers above are illustrative):\n- 🧠 **SONA** — `[bar]` is a volume gauge (~10 patterns/dot); `patterns`/`traj` from `.claude-flow/neural/stats.json`; `Δ LoRA` is shown only after you run `ruflo-neural-train` (it caches the transient MicroLoRA delta, which ruflo doesn't persist); `⚡ HNSW` only when a vector index exists.\n- 🛡️ **aidefence on** — proactive prompt-injection/PII defense is loaded (ruflo's native line already shows the `CVE n/m` count, so this signals the *other* half).\n- 🎓 **Agentic QE** — `V\u003cversion\u003e` is the installed `agentic-qe` package version (read from its `package.json`, mirroring `RuFlo V\u003cx\u003e` in ruflo's header); `🎓 patterns` / `🧭 traj` / `🧬 vec` / `💾 size` from a few guarded `sqlite3` reads of `.agentic-qe/memory.db` (the `vec` count comes from `qe_pattern_embeddings`, falling back to `vectors`/`embeddings` across aqe versions). The branch is already in ruflo's header line, so it's not repeated here.\n\n---\n\n## 🔁 Keeping it working after upgrades\n\nEvery `npm install -g ruflo@latest` (or `agentic-qe@latest`) re-resolves dependency pins, **drops the native binaries again**, and regenerates the status line — so self-learning goes dormant and the footer disappears. You don't have to remember everything an upgrade wipes:\n\n```bash\nnpm install -g ruflo@latest     # or agentic-qe@latest\nruflo-resync                    # ✨ one command heals it all\nruflo-resync --aqe              # …and also refresh agentic-qe skills\n```\n\n---\n\n## 🧬 Node version policy (important)\n\nruflo's memory \u0026 learning are healthy out of the box on **Node 22 LTS**, and need the patch on **Node 24/26**:\n\n| Node | ABI | Stock backend | What to do |\n|------|-----|---------------|------------|\n| ≤ 22 (LTS) | ≤ 127 | ✅ native | nothing — `ruflo-resync` just confirms green |\n| 24 | 137 | ⚠️ JS fallback (loses data) | `ruflo-resync` |\n| 26 | 147 | ⚠️ JS fallback (loses data) | `ruflo-resync` |\n\nThe patch keys off Node's ABI, so it's safe to run on any version (it no-ops where unneeded). Prefer zero patching? Run ruflo on **Node 22 LTS**.\n\n---\n\n## 🙅 Why not just the ruflo one-liner?\n\nThe popular quickstart works for an afternoon in one repo:\n\n```bash\nruflo init --full --start-all --force \u0026\u0026 claude mcp add ruflo -- ruflo mcp start \u0026\u0026 ruflo doctor\n```\n\n…but it bakes in choices that don't age well across many projects and modern Node:\n\n| Concern | The one-liner | This kit |\n|---|---|---|\n| 🔭 **Mindset** | Per-project, repeated every repo | Configure the machine once, reuse everywhere |\n| 📄 **`.mcp.json`** | Written with cloud-SaaS servers — easy to commit by accident | Stripped; nothing project-scoped committed unless you mean it |\n| 💰 **Token cost** | MCP always on → ~84k tokens/session | MCP optional; CLI-first reference keeps sessions lean |\n| 💾 **Memory on Node 24/26** | `doctor` says \"healthy\" while writes silently vanish | Native SQLite + a real store→disk verification |\n| 🧠 **Self-learning** | Looks \"Not loaded\"; no way to tell if it works | Activated and **proven** via a train/persist test |\n| ↩️ **Reversibility** | Manual cleanup | `uninstall.sh` reverses the setup with backups (`--this-project` also reverts a repo's statusline) |\n\nIt's not a replacement for ruflo — just a thin, reversible layer that picks safe defaults and closes the gaps.\n\n---\n\n## 📦 What's in the box\n\n```\nruflo-machine-ref/\n├── install.sh                 # machine bootstrap: prereqs + kit + heal (profiles, interactive)\n├── uninstall.sh               # clean reversal (opt-in --purge for global npm packages)\n├── bin/\n│   ├── ruflo-patch-native     # native better-sqlite3 on Node ≥24\n│   ├── ruflo-parity-test      # 20-check end-to-end memory smoke test\n│   ├── ruflo-enable-learning  # activate + assert ruvector self-learning\n│   ├── ruflo-learning-verify  # prove the learning loop persists\n│   └── ruflo-security-verify  # verify security scan/defend/secrets + aidefence\n├── shell/\n│   └── ruflo-functions.sh     # ruflo-resync, ruflo-onboard, ruflo-setup-project, ruflo-setup-aqe, …\n├── claude/\n│   └── ruflo-reference.md     # the machine-wide CLAUDE.md ruflo block (CLI-first)\n└── docs/\n    ├── BACKGROUND.md          # the full root-cause story (memory + learning + aqe + security)\n    ├── TROUBLESHOOTING.md     # symptom → diagnosis → fix\n    └── superpowers/           # the design spec + implementation plan\n```\n\n---\n\n## 🗑️ Uninstall\n\n```bash\n./uninstall.sh                  # kit footprint only: bin scripts, template, CLAUDE.md block, rc line\n./uninstall.sh --this-project   # ALSO revert the kit's statusline patches in the current repo\n./uninstall.sh --remove-ruflo   # ALSO npm-uninstall global ruflo (machine-wide; asks first)\n./uninstall.sh --remove-aqe     # ALSO npm-uninstall global agentic-qe (machine-wide; asks first)\n./uninstall.sh --purge          # --remove-ruflo + --remove-aqe\n./uninstall.sh --dry-run        # preview without changing anything\n```\n\nThe plain `uninstall.sh` removes only machine-level kit setup; your ruflo\ninstall, memory DBs, and **project files** are left untouched. The\n`--remove-ruflo` / `--remove-aqe` / `--purge` flags reach the *global npm\npackages* — they affect every project on the machine, so each one prompts to\nconfirm (pass `--yes` to skip in scripts). Add `--this-project` from a repo root\nto revert that repo's statusline patches too (it backs up first and leaves all\nruflo/agentic-qe data alone — use `ruflo cleanup --force` for per-project data).\n\n---\n\n## 📚 Further reading\n\n- 📖 [docs/BACKGROUND.md](docs/BACKGROUND.md) — the full root-cause investigation (Node/ABI/WASM, why self-learning looked dormant, the agentic-qe variant, the security surface)\n- 🔧 [docs/TROUBLESHOOTING.md](docs/TROUBLESHOOTING.md) — symptom → diagnosis → fix runbook\n- 🧱 [docs/superpowers/](docs/superpowers/) — the design spec and implementation plan behind the self-learning work\n\n---\n\n## 🙏 Credits \u0026 citations\n\nThis kit stands on the shoulders of several projects and people:\n\n- 🧠 **ruflo** (a.k.a. claude-flow) by ruvnet — the orchestration toolkit this kit configures: \u003chttps://github.com/ruvnet/ruflo\u003e\n- 🎓 **agentic-qe** by *proffesor-for-testing* — the standalone quality-engineering fleet: \u003chttps://github.com/proffesor-for-testing/agentic-qe\u003e\n- 📎 **Ciprian Melian's setup-and-repair gist** — prior art that paired ruflo with agentic-qe and inspired this kit's direction: \u003chttps://gist.github.com/ciprianmelian/eb7e8ff7d24018141ca34bb8a7e216a6\u003e\n- 🐞 **Upstream tracking issue** for the memory/Node bug family: [ruvnet/ruflo#2219](https://github.com/ruvnet/ruflo/issues/2219)\n- 🗄️ **better-sqlite3** — the native SQLite binding at the heart of the fix: \u003chttps://github.com/WiseLibs/better-sqlite3\u003e\n- 🤖 **Claude Code** by Anthropic — the agent this all runs inside: \u003chttps://claude.com/claude-code\u003e\n\n\u003e Target: macOS / Linux · zsh or bash · ruflo 3.10.x · Node 20–26 · Python 3.10+.\n\u003e A thin, reversible layer — not a fork. PRs and issues welcome.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpacphi%2Fruflo-machine-ref","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpacphi%2Fruflo-machine-ref","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpacphi%2Fruflo-machine-ref/lists"}