Skip to content

v3.15.0 β€” agenticow COW memory branching (4 MCP tools, +162-byte branches)

Choose a tag to compare

@ruvnet ruvnet released this 29 Jun 16:05
0b20e7c

What's new in 3.15.0

This is a MINOR release adding agenticow@~0.2.3 β€” Copy-On-Write memory branching β€” as 4 new MCP tools. No breaking changes; the new dep is in optionalDependencies with graceful-degraded fallbacks.

New MCP tools (4)

Tool Purpose
agenticow_branch COW-fork a base .rvf memory at ~162 bytes regardless of base size
agenticow_checkpoint Freeze a labelled restore point that survives close+reopen
agenticow_rollback Discard edits since the most recent checkpoint, O(edits) not O(N)
agenticow_promote Atomically merge a branch's edits (with tombstones) into a base or target

Read-through semantics on every branch: parent βˆͺ edits, child wins. Persisted via <file>.agenticow.json lineage manifest.

Motivation

v3.14.4 uncovered a 3.3 GB tarball-bloat regression where Darwin loops' git-worktree-per-agent pattern accumulated full-copy snapshots. agenticow is the structural fix β€” 162-byte branches instead of full copies.

Measured perf vs. published claims

Full bench harness: scripts/bench-agenticow.mjs
Findings doc: docs/agenticow/findings.md (gist mirror)

Claim Result Detail
162-byte branches βœ… Confirmed exact Constant at N=1k, 10k, 50k
β‰₯3,000Γ— smaller than full-copy βœ… Confirmed and exceeded 3,214Γ— at N=1k β†’ 181,930Γ— at N=50k
"0.5ms branch" ❌ Not reproduced Measured ~10 ms (fixed cost, not size-proportional)
"83Γ— faster" ❌ Crossover Nβ‰ˆ30k Below crossover, full-copy wins

We measured, not parroted β€” per CLAUDE.md's source-of-truth rule.

Architectural constraint (zero hard runtime dep)

agenticow is in optionalDependencies. When missing, every tool returns {success: true, degraded: true, reason: 'agenticow-not-found'} and exits 0. Same posture as the metaharness integration (ADR-150). Verified by the no-metaharness-smoke CI gate on every PR.

What this enables in ruflo

  • Darwin loops without worktree bloat β€” branch-per-iteration at 162 B instead of full git-worktree clones
  • Speculative agent edits with O(1) rollback β€” checkpoint β†’ try β†’ rollback if the JUDGE step rejects
  • Per-user / per-session memory personalization β€” federation primitive for fork-and-merge
  • A/B routing experiments on real memory β€” branch candidate routers, bench each, promote the winner

Tests

  • 7/7 vitest unit tests pass (v3/@claude-flow/cli/__tests__/agenticow-tools.test.ts)
  • 8/8 bash smoke contract pass (scripts/smoke-agenticow.sh)
  • 108/108 CI checks green on PR #2500 before merge

Install / upgrade

npx ruflo@latest             # 3.15.0
npx @claude-flow/cli@latest  # 3.15.0
npx claude-flow@latest       # 3.15.0

Or via package.json:

{
  "dependencies": {
    "@claude-flow/cli": "^3.15.0"
  }
}

Verified npm dist-tags

@claude-flow/cli   latest=3.15.0  alpha=3.15.0  v3alpha=3.15.0
claude-flow        latest=3.15.0  alpha=3.15.0  v3alpha=3.15.0
ruflo              latest=3.15.0  alpha=3.15.0  v3alpha=3.15.0

Related

  • PR #2500 β€” feat(mcp): integrate agenticow@~0.2.3 β€” COW memory branching (4 MCP tools)
  • PR #2501 β€” chore(release): 3.14.4 β†’ 3.15.0