Project releases
Ruflo 3.56.3 makes interrupted memory saves visible and recoverable
The sql.js memory path retries one provably stale lock, refuses live or uncertain locks and surfaces failed shutdown saves.
GitHub activity: · Published:
A guarded memory retry
The stale branch can retry once. The live or uncertain branch must stay closed.
Explanatory diagram · not live telemetrySave requested
sql.js memory path only
Inspect lock
Exact name, dead PID, age >10s
Provably stale
Rename, re-verify, retry once
Live / uncertain
Stop; do not delete the lock
Saved or visible error
Shutdown failures reach the caller
What changed
Ruflo 3.56.3 fixes a sql.js failure in which a crashed writer’s AgentDB lock prevented every later memory save. The memory package checks that the lock is genuinely stale before removing it, retries once and otherwise reports an error. Failed persistence during shutdown is now visible instead of swallowed.
The umbrella packages ruflo, claude-flow and @claude-flow/cli are 3.56.3; the memory leaf is 3.0.3. AgentDB’s dependency floor advances to 3.0.0-alpha.20, with changed embedding dependencies that can shift similarity scores. Applications using fixed thresholds should re-evaluate them. This is not recovery for native better-sqlite3, and not the later swarm 3.0.2 broadcast fix.
Get started
Use your existing Ruflo dependency workflow on Node >=20, in a disposable project. npm view should report 3.56.3.
Documentation-verified only. We did not install this release, execute these commands or reproduce the maintainers’ tests.
npm view ruflo@3.56.3 version
This patch adds no new MCP endpoint or skills setup; it changes memory persistence, not the transport contract.
Use it today
If your application uses sql.js memory, update through its existing dependency workflow and test write, shutdown and reload in a disposable project. Confirm failures reach the caller. Never delete a lock just because it exists.
Experimental commentary — acceptance test
Acceptance: interrupt a disposable writer, then confirm a later save recovers a provably stale lock or refuses a live/ambiguous one. Check the stored data after restart and retest application score thresholds. Automatic recovery is deliberately limited, not universal.
Limits and verification
- Recovery requires the exact regular-file name, numeric dead PID, age over ten seconds, atomic rename-aside and re-verification. It retries once.
- AgentDB remains alpha. Release notes disclose a registry signature but no npm provenance attestation for alpha.20.
- No independent runtime verification or blanket crash-recovery guarantee.