Skip to content

Ply

Ply is the maximum number of independent ready nodes that may execute at once. Default 4.

Set it in ≔ params → ply on the workflow.

In yarn, ply is how many strands are twisted together. Here it’s how many branches run side by side.

One prompt fans out to three agents on different providers, all running in the same wave, then a knot merges their answers by majority into a single output.

Ply 3: all three agents occupy one wave, so the wall clock is the slowest of them rather than their sum. A knot brings the branches back to one value.


The runner repeats three steps until the graph is done:

  1. Find every node whose predecessors have all completed — the ready set.
  2. Execute up to ply of them concurrently.
  3. Check the graph spend ceiling, then form the next wave.

So ply doesn’t reorder anything — dependencies are still respected exactly. It only decides how many already-eligible nodes may work at the same time.


If A fans out into B and C, both become ready the moment A finishes:

plyBehavior
1B runs, then C — wall clock is their sum
2 or moreB and C run together — wall clock is the slower of the two

For agent nodes, each one is a separate CLI process and a separate session, so the saving is real: three agents that take 2, 3, and 5 minutes finish in 5 minutes instead of 10.


SituationSuggested
Debugging a graph, want a readable log1
Typical multi-agent fan-out24 (default 4)
Many cheap local custom nodeshigher is fine
Rate-limited provider, or heavy local CPUlower

Ply is a ceiling, not a target — a graph with no parallel branches runs identically at any setting.


Concurrency and budgets pull against each other: several agents can be mid-flight when the ceiling is reached. threadle checks the graph spend tripwire between waves, so a run can overshoot by at most the wave that was already in flight. Per-branch tripwires still fire inside a wave, on their own wire.


Ply fan + majority knot — two Cursor asks in parallel, merged by a majority knot, with a duration fuse watching the clock.

Terminal window
threadle run ply-fan-knot --approve-all

  • Knot — bringing parallel branches back together
  • Graph & wires — the wave loop
  • Tripwire — limits that survive parallelism