Skip to content

Knot

A ⋈ Knot merges several inbound text wires into one result, using a strategy you choose.

It is the fan-in counterpart to ply’s fan-out.

Three agents on different providers each produce an answer; a knot merges them by majority into one output.

Three opinions, one answer. Without the knot, those three texts would arrive at the output joined by blank lines.


Wire three agents into one output and threadle joins their texts with blank lines — quietly — if that input still has capacity. Many transforms (Delay, Text → Prompt, …) only accept one inbound wire; dumping three agents onto an output is refused. A knot is the intentional multi-in merge you can see on the canvas.


StrategyBehaviorGood for
concatJoin candidates with a separatorCollecting sections written in parallel
firstTake the first inbound textFastest-wins races, fallback chains
majorityThe most common answer winsVerification — “do 2 of 3 agree?”
synthesizeBuild a labeled candidate prompt; with a model set on the node, run it to write the synthesisTurning N drafts into one text

Empty inbound texts are ignored before merging, so a starved branch doesn’t blank your result.


With no model set, a synthesize knot emits the labeled candidates plus an instruction to merge them — useful as the prompt body for a downstream agent:

### candidate 1
### candidate 2
---
Synthesize the candidates above into one coherent result.
Prefer agreement; note conflicts briefly.

Set a provider and model on the node and the knot runs that model itself, emitting the finished synthesis. The run log records which model did the merging.


Any text producer → knot → any text consumer. Knots chain: a majority knot over three agents can feed a synthesize knot alongside a fourth opinion.

A knot requires at least one inbound wire; an unwired knot is flagged by loose ends and blocks a detached run.


Verify by vote. Same prompt → three agents → majority knot. Cheap, and it catches the case where one model confidently invents something.

Cross-provider synthesis. Claude, opencode and Cursor answer the same question; a synthesize knot with your preferred model writes the merged answer. Only threadle can wire that in one graph.

Fallback chain. Primary and backup agents into a first knot, so a failed primary doesn’t stop the run.


Knot concat and Knot first-wins — no agent required. ▶ Ply fan + majority knot — parallel asks merged by vote.