Files
ruflo/.github
rUv bb34896656 fix: #2219 #2221 #2222 #2215 #2226 — memory/routing/statusline bug cluster (3.10.6) (#2227)
* fix: #2219 #2221 #2222 #2215 #2226 — memory/routing/statusline bug cluster (3.10.6)

Five reproducible bugs reported by external contributors (pacphi, casparml,
HF-teamdev), each verified against source and covered by a regression test.

#2219 (silent write loss, Node 24/26) — agentdb pins better-sqlite3 as an
  OPTIONAL dep at ^11.8.1, which has no Node 24/25/26 prebuild; the native
  build fails silently and AgentDB drops to a non-persistent backend. Override
  better-sqlite3 to >=12.8.0 (ships Node 20–26 prebuilds) in BOTH the root
  umbrella and the ruflo wrapper (#2112: root overrides don't reach the
  wrapper). New CI guard audit-better-sqlite3-override.mjs prevents regression.

#2226 (pattern store/search backend mismatch) — agentdb_pattern-store and
  agentdb_pattern-search hit disjoint backends, so stored patterns were never
  found. Two paths fixed: (a) when the ReasoningBank controller is present,
  bridgeSearchPatterns now reads LocalReasoningBank.findSimilar/getAll (the
  same backend store writes to); (b) when the controller is absent (the common
  real-world state), the memory-store-fallback search Tier-2 now hydrates entry
  content via getEntry — listEntries returns metadata only (see #2014), so the
  substring scan previously matched nothing.

#2222 (route feedback no-op) — `route feedback` applied the Q-update in memory
  but the CLI exits before the Q-learner's autoSaveInterval fires, so learning
  never persisted. Add an explicit awaited router.saveModel() after feedback.

#2221 (statusline shows V3.6 on global installs) — getPkgVersion() never probed
  the global npm root, so `npm i -g ruflo` fell back to the hard-coded default.
  Derive the global node_modules dir from process.execPath (no npm spawn) and
  probe it; covers nvm/mise and Windows layouts. Regenerated statusline.cjs.

#2215 (flashAttention contradictory state) — system_info emitted a hard-coded
  `flashAttention: false` while hooks_intelligence reported the live probe.
  system_info now runs the same getFlashAttention() probe as the authoritative
  path so the two tools can't disagree.

Tests: __tests__/bug-cluster-2219-2226.test.ts (5/5), statusline drift guard
still byte-identical (8/8), tsc clean, targeted sweep 120/120.

Co-Authored-By: RuFlo <ruv@ruv.net>

* fix(deps): #2219 — sync package-lock to better-sqlite3@12.10.0 override

npm ci validates lockfile against package.json; the override bumped the
resolved version but the committed lockfile still pinned 11.10.0, failing
'npm ci' in CI. Regenerated with --package-lock-only.

Co-Authored-By: RuFlo <ruv@ruv.net>
2026-05-29 08:52:31 -04:00
..