Squid Flow Playground

Type a Squid Flow route expression. See ADR-0032 for the language spec and decision record, or the Squid Flow v0.1 Whitepaper for implementation details (grammar, resolution rules, canonical forms, execution model). This page is standalone — not wired into the live composer or backend yet.

Type an expression above.

Canonical key (saved to DB, identifies this workflow — minimized/grouped, not order-preserving)

Branch breakdown

Fully expanded form

Syntax

SyntaxMeaning
#topic1which topic (conversation) this step runs in
@agent1which agent handles this step
!fresh — start a new session instead of continuing the agent's existing one
>one-way handoff to the next step
=>alias for > — same meaning, alternate spelling
,independent branches — each side runs on its own, not chained together
#t2@a1,#t3the first atom has to be a full route so it can anchor later partial atoms borrowing the missing half from it (here, #t3 becomes #t3@a1)
+join — merges multiple steps into one downstream consumer. Valid as the origin (feeding the one hop: #a+#b>#c) or, only under <>/<N>, as the target (the return leg is the consumer: #a<>#b+#c dispatches #b and #c in parallel, then pins both into the return to #a). A join with no consumer (e.g. a bare #a+#b, or + on a plain > target) is rejected.
<> / <N>request/response round trip; <N> repeats it N times
<N:1d>round trip, waiting the given duration between every hop (out and back), both directions equally
=N>repeat this one-way handoff N times back to back, no delay
=N:1d>repeat N times, spaced by the given duration