An agent that rebuilds its own to-do list every run will rebuild it differently every run. A workflow is that plan as a machine — admitted only if every path through it passes, then executed durably, one work order at a time.
Workflows are the deterministic form of re-planning. The sequence an agent follows every Tuesday was always a machine; leaving it to inference just means paying for it again on Wednesday and getting a different one.
Every run starts by reasoning out the plan again. Two runs of the same job take two different routes, an interrupted run has no state to resume from, and a step that fired twice is discovered from its effects.
The plan is a state machine that had to pass a check before it was allowed to load. It runs durably: one commit per step, effects emitted exactly once, and a journal that says who caused each step. Several agents can share one run without doing anything twice.
A workflow is model-checked before it is admitted. If a path through it can reach a state your rules forbid, it does not load — and you get the sequence that would have got there.
Not about the next tool call. The engine hands back one work order at a time; the agent does the work. The engine holds no credentials and calls no tool itself.
Durable execution means a run that dies mid-flight resumes where it stopped rather than starting over, and an effect that already fired does not fire again on the retry.
Several agents claim work orders nobody assigned them and never take the same one twice. Identity comes from the process, never from a tool argument, and the journal records who caused each step.
Both open source under Apache-2.0, and free.
A workflow engine for AI agents. The agent reasons about a workflow instead of the next tool call; polyflow admits that workflow only if it model-checks, then runs it durably and hands back one work order at a time.
How polyflow works → polycrew more than oneThe multi-participant layer over polyflow. Several agents share one broker, claim work orders nobody assigned, and never do one twice. Verified with two unmodified Claude Code sessions on one release.
How polycrew works → polyrun underneathDurable execution for verified state machines — one commit per step, effects emitted exactly once, and a composition gate that checks the check-then-effect sequence itself.
How polyrun works →