You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Track integration of a verified Ruflo fix for CLI/MCP memory path divergence. On Ruflo 3.39.2, CLI memory commands pass a resolved dbPath (normally .swarm/memory.db), while native MCP handlers commonly omit it and select .swarm/agentdb-memory.db. Two valid corpora can coexist and reads through one interface miss the other.
Status at creation: blocked on a published and independently verified upstream fix. Latest/installed Ruflo is 3.39.2. The isolated test still reproduces the split. There is no known fixed minimum version yet.
Discovery and preservation constraint
agentic-kit's Intelligence/Memory warning exposed the two stores. Read-only inspection observed 51 active distinct namespace/key pairs in memory.db and 16,671 in the sibling, with only one shared key: 50 keys exist only in the smaller file. Counts were collected while other writers were active; no values are published and this is not a migration snapshot.
Current safe behavior: keep both stores, label filenames rather than infer backend ownership, keep routing unverified unless independently evidenced, and provide explicit per-command CLI --path guidance. Do not remove the warning based merely on an upstream issue closing, a version bump, or a temporary same-interface canary succeeding.
Upstream watch / readiness
Link the upstream fixing PR/commit(s) for #3196 and the path-identity behavior in #3143.
Record the first published npm package containing those fixes, its release notes, @claude-flow/cli dependency versions, and package/source integrity evidence.
Revisit this tracker when agentic-kit maintenance detects a newer Ruflo release; compare the changes to the reproduction rather than assuming any upgrade fixes it.
Verify whether custom filename env/flags, memory root configuration, encrypted compatibility files, and native-disabled mode are covered; record partial fixes separately.
Cross-references provide an upstream discussion trail. This issue is not an automated upstream polling service; keep it open until the integration evidence below is complete.
Integration plan
Capture a baseline without disturbing the live corpus. Preserve the current isolated reproduction/results and installed versions. Use copied/SQLite-backup fixtures for any existing-store analysis; quiesce writers before any migration. Account for DB+WAL, active/deleted/TTL rows, provenance and embeddings.
Evaluate the candidate in isolation. Install the candidate Ruflo release into a temporary prefix/fixture. No replacement of the user's global runtime or live databases during evaluation. Bind results to exact package version, source revision and platform.
Run cross-interface and identity tests. Fresh process CLI write→MCP read; MCP write→CLI read; explicit file path and environment overrides; configured root; two distinct paths in one process; existing disjoint corpora; Windows/native-disabled fallback; encrypted compatibility storage. Assert which files changed and which keys remain accessible. Negative cases must fail clearly rather than select a different file silently.
Integrate only the supported contract. Review src/lib/ruflo-memory.mjs (cwd/env launch contract), src/lib/project-memory.mjs, src/commands/status/sections/project-memory.mjs, and src/commands/x/verify.mjs. Add a version/capability gate and actionable diagnostics for older/partial upstream releases. Prefer an upstream read-only route/peek API; do not call mutating retrieve as a read-only health check.
Keep migration separate from route alignment. Adopt an upstream migration only after reviewing backup, conflict, encryption and rollback behavior. Unique keys in either store must survive. A post-upgrade warning can disappear only when actual existing-corpus access is established; unresolved migration must remain visible.
Update docs and upgrade guidance. Record verified minimum version, changed path precedence, old/new behavior, rollback, and residual limitations in Troubleshooting and the local investigation note. Update integration tests and relevant ADRs if the launch/ownership contract changes.
Deliver an agentic-kit PR. Run focused path/roundtrip/failure tests, typecheck, lint/complexity, full tests, supported-platform CI, and dashboard verification. Link the package-bound evidence and upstream PR. Keep a supported fallback without abandoning either corpus.
Acceptance / closure
Exact upstream release and fix commits recorded.
Cross-process CLI/MCP reproduction no longer shows divergent default stores under the documented supported configuration.
Explicit paths remain distinct within one process, or unsupported combinations fail explicitly.
Existing disjoint corpora and conflicting keys have a tested preservation/migration outcome, including rollback.
Native-disabled and encrypted paths are tested or explicitly gated as unsupported.
Agentic-kit reports observed route identity and preserves uncertainty on older/partial releases.
Relevant docs, regression tests, CI evidence, and integration PR linked.
Close only after the agentic-kit integration is merged; upstream closure alone is insufficient.
Related agentic-kit work: #211 and its documentation audit #212. The current remediation branch fixes plugin-validator false positives and improves memory diagnostics; it does not implement or claim an upstream memory-routing fix.
Problem and upstream dependencies
Track integration of a verified Ruflo fix for CLI/MCP memory path divergence. On Ruflo 3.39.2, CLI memory commands pass a resolved
dbPath(normally.swarm/memory.db), while native MCP handlers commonly omit it and select.swarm/agentdb-memory.db. Two valid corpora can coexist and reads through one interface miss the other.memory importis one instance of a general shape: most bridge-writing call sites across the CLI/MCP surface never thread a resolveddbPathintostoreEntry()/bridgeStoreEntry(), so they fall to the AgentDB bridge's owngetAgentDbPath()default (or, once any caller has initialized the bridge's singleton registry, to whatever file that first caller happened to open) and land inagentdb-memory.db, while only thememoryCLI'sstore/retrieve/search/list/delete/purgesubcommands pass an explicitresolveDbPath(ctx.flags.path)and land inmemory.dbruvnet/ruflo#3196memory importis one instance of a general shape: most bridge-writing call sites across the CLI/MCP surface never thread a resolveddbPathintostoreEntry()/bridgeStoreEntry(), so they fall to the AgentDB bridge's owngetAgentDbPath()default (or, once any caller has initialized the bridge's singleton registry, to whatever file that first caller happened to open) and land inagentdb-memory.db, while only thememoryCLI'sstore/retrieve/search/list/delete/purgesubcommands pass an explicitresolveDbPath(ctx.flags.path)and land inmemory.dbruvnet/ruflo#3196 (comment)doctor -c memory's candidate-file check only ever examinesmemory.db; it never addsagentdb-memory.db(the native controller store, #2786) as a candidate, so the structural health check can pass while the authority file it never looked at is corrupt ruvnet/ruflo#3195 and config:.claude-flow/config.yamlwritten byruflo initis never parsed by the daemon (ESMrequire('yaml')fails), and thememory.persistPathit writes is dead text nowhere reads ruvnet/ruflo#3193Status at creation: blocked on a published and independently verified upstream fix. Latest/installed Ruflo is 3.39.2. The isolated test still reproduces the split. There is no known fixed minimum version yet.
Discovery and preservation constraint
agentic-kit's Intelligence/Memory warning exposed the two stores. Read-only inspection observed 51 active distinct namespace/key pairs in
memory.dband 16,671 in the sibling, with only one shared key: 50 keys exist only in the smaller file. Counts were collected while other writers were active; no values are published and this is not a migration snapshot.Current safe behavior: keep both stores, label filenames rather than infer backend ownership, keep routing unverified unless independently evidenced, and provide explicit per-command CLI
--pathguidance. Do not remove the warning based merely on an upstream issue closing, a version bump, or a temporary same-interface canary succeeding.Upstream watch / readiness
@claude-flow/clidependency versions, and package/source integrity evidence.Cross-references provide an upstream discussion trail. This issue is not an automated upstream polling service; keep it open until the integration evidence below is complete.
Integration plan
src/lib/ruflo-memory.mjs(cwd/env launch contract),src/lib/project-memory.mjs,src/commands/status/sections/project-memory.mjs, andsrc/commands/x/verify.mjs. Add a version/capability gate and actionable diagnostics for older/partial upstream releases. Prefer an upstream read-only route/peek API; do not call mutating retrieve as a read-only health check.Acceptance / closure
Related agentic-kit work: #211 and its documentation audit #212. The current remediation branch fixes plugin-validator false positives and improves memory diagnostics; it does not implement or claim an upstream memory-routing fix.