Skip to content

Track upstream Ruflo memory routing fix and safe integration for existing corpora #213

Description

@pacphi

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.

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

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions