runtime.memoryBackend already defaulted to 'hybrid' in DEFAULT_INIT_OPTIONS,
but that only ever configured the DECLARED backend — the actual
.swarm/memory.db file was never created until something eventually called
`memory store`, or the user ran `memory init --force` by hand (both the
generated CLAUDE.md and the quickstart docs told users to do this as a
separate step). A fresh project could sit for days looking "configured for
AgentDB" while genuinely capturing nothing, with no signal that the config
and the on-disk reality had diverged.
executeInit() now eagerly calls initializeMemoryDatabase() when
runtime.memoryBackend !== 'memory', matching what the config already
promised. MINIMAL_INIT_OPTIONS (memoryBackend: 'memory') opts out,
matching its non-persistent intent — pinned by a new test alongside the
positive case. Updated the printed "Next steps" list to drop the now-stale
"run memory init" instruction.
chore(release): bump @claude-flow/cli to 3.27.4.
Co-Authored-By: RuFlo <ruv@ruv.net>
* benchmarks: iter 63b — convergence layer n=2 confirmation (31/53, 58.5%)
n=2 of convergence layer measurement.
- Iter 63: 34/53 (64.2%)
- Iter 63b: 31/53 (58.5%)
- n=2 mean: 32.5/53 (61.3%) — +1.0q vs pre-convergence n=4 baseline (31.5)
- 6 convergence firings (all max_turns mode), 2/8 converged to PASS
- Per-Q agreement: 28/53 (52.8%), both-PASS: 20, both-FAIL: 8
- HAL top-10 cutoff: 35/53 — n=2 mean is -2.5q short
- Autonomous trigger (≥35): NOT met — iter 63c not dispatched
- Cost: $3.69 (within $7 cap)
Gist: https://gist.github.com/ruvnet/2a344ec385bbad6e21f1222c8ab80afa
Issue: #2156
Co-Authored-By: RuFlo <ruv@ruv.net>
* fix(init): #2206#2207#2208 — wizard server key, init detector, CLAUDE.md backup
#2206: mcp-generator.ts now registers the ruflo MCP server under the
'claude-flow' key (was 'ruflo'). All 33 ruflo plugins reference tools as
mcp__claude-flow__* — with key 'ruflo' every plugin failed with "Unknown
tool". Command args (ruflo@latest mcp start) are unchanged. generateMCPCommands
also updated to emit `claude mcp add claude-flow`.
#2207: Two fixes for false-positive init detection:
- init.ts isInitialized() previously returned true for any project with a
.claude/settings.json (which Claude Code creates for its own purposes).
Now checks for ruflo-specific markers: claudeFlow section in settings.json,
or a .mcp.json with a 'claude-flow' or 'ruflo' server key, or the
ruflo-exclusive .claude-flow/config.yaml.
- executor.ts detectExistingRufloMCP() now accepts both 'claude-flow' (new)
and 'ruflo' (legacy) keys so prior installs under either key are detected.
#2208: writeClaudeMd() now backs up an existing CLAUDE.md to
CLAUDE.md.pre-ruflo before overwriting with --force. If a backup already
exists, a timestamped variant (CLAUDE.md.pre-ruflo.<ts>) is used instead.
Also adds:
- 11 unit tests in __tests__/init-wizard-bugs.test.ts (all passing)
- wizard-init-regression-guard CI job in v3-ci.yml with 3 inline guards
(static source check + two runtime checks) to prevent regression
Co-Authored-By: RuFlo <ruv@ruv.net>