Project releases

Ruflo’s swarm package now retries failed broadcast deliveries

The standalone swarm 3.0.2 library routes retries to the failed recipient instead of an orphan broadcast queue.

GitHub activity: · Published:

Retries belong to a recipient

Fanout stays intact; only the failed recipient enters its own retry path.

Explanatory diagram · not live telemetry
Explanatory connectionsA broadcast reaches a healthy recipient once and a failing recipient’s own queue. Bounded retry can succeed or report failure. Unsubscribing prevents orphan work.Explanatory connectionsA broadcast reaches a healthy recipient once and a failing recipient’s own queue. Bounded retry can succeed or report failure. Unsubscribing prevents orphan work.

Broadcast

Fan out to subscribed recipients

Healthy recipient

Delivered once; settled

Failing recipient

Retry its own queue

Bounded retry

Configured budget; same recipient

Success / failure

message.failed if exhausted

Unsubscribed

No new orphan queue

What changed

When a swarm broadcast callback failed, its retry could land in a queue named broadcast with no subscriber. The work stalled there without delivery or an exhausted-attempt report. Standalone @claude-flow/swarm 3.0.2 sends the retry to the actual failing recipient’s queue.

Successful recipients keep their deliveries; failing callbacks use the configured retry budget and can emit message.failed when exhausted. If a recipient unsubscribes during backoff, the fix avoids creating an orphan queue. This leaf package shipped after the Ruflo 3.56.3 release; the two version numbers and release boundaries are not interchangeable.

Get started

Use an existing application that directly depends on the swarm library, with its configured MessageBus subscribers. Installing the package alone does not start a swarm.

Documentation-verified only. We did not install this release, execute these commands or reproduce the maintainers’ tests.

npm install @claude-flow/swarm@3.0.2

This leaf-library change documents no new MCP server, endpoint or npx skills setup.

Use it today

In a disposable message-bus test, broadcast to one healthy callback and one that throws. The healthy recipient should receive once. The failing recipient should use its configured budget and report final failure. Also unsubscribe during backoff.

Experimental commentary — acceptance test

Acceptance: queue depth returns to zero after retries finish, the healthy subscriber is not redelivered and a departed subscriber gains no orphan queue. This checks stranded work, not durable distributed delivery.

Limits and verification

  • This is an in-process callback retry fix, not exactly-once delivery, durable cross-machine messaging or network-partition tolerance.
  • Retry count is configuration-dependent. No universal count or README scale/performance claim is reproduced.
  • Maintainer tests were not rerun by the newsroom.

Read the original on Swarm 3.0.2 release PR #3961

PR #3961

Ruflo repository

Back to the newsroom