v3/implementation/adrs/ADR-059-bug-triage-2026-03.md
Status: Accepted — Fixes Verified Date: 2026-03-05 (updated 2026-03-05) Author: claude-flow
As of v3.5.2, ruflo has 30 open issues spanning security, platform stability, CLI correctness, MCP protocol compliance, and Chat UI runtime bugs. This ADR triages every open issue into a priority matrix to guide engineering effort.
Note: @claude-flow/memory (AgentDB) is now published at @latest, which affects several wiring issues below.
| Level | Meaning | SLA |
|---|---|---|
| P0 — Critical | Security risk, data loss, or blocks all users | Fix within 24h |
| P1 — High | Core functionality broken for a platform or major feature | Fix within 1 week |
| P2 — Medium | Incorrect behavior, cosmetic UX bugs, missing config | Fix within 2 weeks |
| P3 — Low | Enhancements, polish, branding consistency | Next release cycle |
preinstall script in package.json silently deletes npm cache entries for claude-flow and ruflo. This resembles malicious behavior and will trigger security scanners (Socket, Snyk, npm audit).package.json. Issue #1261 closed.findOne({_id}) matched ALL documents because MongoDB's ObjectId was treated as an empty operator object by the RVF store.toHexString detection and isObjectIdLike helper to rvf.ts. Verified: two conversations return distinct data via API. No regression.init --start-all reports success but creates nothing on Windows. Zero functionality for Windows users.child_process.spawn calls for POSIX-only flags; add Windows CI matrix.settings.json contains broken hook commands. Users get no feedback — hooks silently fail, degrading learning, session management, and intelligence features.--dry-run flag to hooks.settings-generator.ts and executor.ts now use git rev-parse --show-toplevel for absolute path resolution. Issue #1284 closed.findRepoRoot().hookCmd(), hookCmdEsm(), hookHandlerCmd(), autoMemoryCmd() helpers that resolve paths via git rev-parse --show-toplevel. Issue #1259 closed.createRequire(import.meta.url) resolution or bundle the memory module.@claude-flow/memory (AgentDB) is now published at @latest. The export is available but CLI init doesn't wire it.import { ControllerRegistry } from '@claude-flow/memory' (now on @latest); wire into init sequence.activateControllerRegistry() in memory-initializer.ts (lines 1089-1139). CLI memory init now wires ControllerRegistry singleton, activating ReasoningBank, SkillLibrary, and ExplainableRecall. Issue #1264 closed.items (#1294)items to every array-type parameter.items field to 13 array schemas across 7 MCP tool files (system-tools, github-tools, hooks-tools, coordination-tools, daa-tools, performance-tools). Issue #1294 closed.workflow run and task assign call missing MCP tools (#1281)workflow_run and task_assign MCP tools referenced in CLI but not registered in the MCP server..unref() to all setInterval timers in CacheManager.claude-flow v3.0.0 instead of ruflo v3.5.x.system-tools.ts now reads version from package.json at runtime via getPackageVersion(). Branding updated to "RuFlo" across 20+ CLI files. Statusline.cjs updated. Issue #1280 closed.statusline.cjs (lines 3, 552, 619) from "Claude Flow V3" to "RuFlo V3". Updated settings.json version to 3.5.2. Issue #1254 closed.package.json at runtime instead of hardcoding.'3.0.0-alpha' with PKG_VERSION read from package.json via getPackageVersion() in system-tools.ts. Issue #1253 closed.status command shows STOPPED for a correctly-running stdio-mode MCP server. Confusing UX.ruflo spawn hive-mind --claude (#1279)@ruvector/sona package methods.web_search tool invoked with empty {} input, returning 400. Observed in runtime logs.mcp-bridge/index.js executeTool() — returns graceful MCP-formatted error instead of 400.findOneAndUpdate creates new docs instead of updating existing ones due to ObjectId matching issue (same root cause as #2, partially fixed).findOneAndUpdate uses string comparison for _id.rvf.ts — sorts by updatedAt, keeps newest, deletes duplicates. findOneAndUpdate now uses string comparison for _id.dsp as bin entry for --dangerously-skip-permissions (#1236)| Priority | Count | Fixed | Remaining | Key Themes |
|---|---|---|---|---|
| P0 | 3 | 2 | 1 | Supply-chain security, data corruption, platform failure |
| P1 | 7 | 4 | 3 | Daemon stability, hooks reliability, MCP compliance, AgentDB wiring |
| P2 | 11 | 5 | 6 | Branding, version strings, CLI UX, Chat UI runtime, neural wiring |
| P3 | 9 | 0 | 9 | Feature requests, enhancements, housekeeping |
| Total | 30 | 11 | 19 |
Fixes delivered in PR #1297 and PR #1298, merged to main on 2026-03-05.
| # | Issue | PR | Fix Summary |
|---|---|---|---|
| 1 | #1261 — Obfuscated preinstall | #1298 | Removed preinstall script from root package.json |
| 2 | (Chat UI) — RVF ObjectId | #1297 | toHexString detection + isObjectIdLike helper in rvf.ts |
| 5 | #1284 — Hooks silent failures | #1298 | All hook commands use git rev-parse --show-toplevel |
| 6 | #1259 — Hooks relative paths | #1298 | hookCmd(), hookCmdEsm(), hookHandlerCmd(), autoMemoryCmd() helpers |
| 8 | #1264 — AgentDB ControllerRegistry | #1298 | activateControllerRegistry() in memory-initializer.ts |
| 9 | #1294 — MCP array missing items | #1298 | 13 schemas fixed across 7 MCP tool files |
| 13 | #1280 — MCP branding v3.0.0 | #1298 | getPackageVersion() reads from package.json at runtime |
| 14 | #1254 — Statusline branding | #1298 | statusline.cjs updated to "RuFlo V3" |
| 15 | #1253 — MCP version mismatch | #1298 | Hardcoded '3.0.0-alpha' replaced with PKG_VERSION |
| 20 | (Chat UI) — Empty web_search | #1298 | Empty-query validation in mcp-bridge/index.js |
| 21 | (Chat UI) — Settings duplication | #1298 | Dedup pass on startup + string _id comparison |
All fixes validated via Docker-based regression testing:
preinstall in package.json)tsc --noEmit)/health returns 200)P0 (1): #1282 Windows daemon/memory init P1 (3): #1283 macOS daemon, #1287 auto-memory-hook resolution, #1291 settings-generator completeness P2 (6): #1281 missing MCP tools, #1256 CacheManager unref, #1288 doctor disk space, #1289 stdio status, #1279 zero swarms, #1243 SONA wiring P3 (9): Feature requests and housekeeping (#1276, #1290, #1238, #1262, #1267, #1268, #1273, #1272, #1236, #1245, #1242, #1251)
main).