Announcing Proliferate
Proliferate
ConceptsWorkflows

Workflows

A saved chain of agent and approval steps that runs top to bottom in one workspace.

A workflow turns a procedure you keep repeating — triage this, implement it, review it, ship it — into something you can start with one press and watch as it runs.

What is a workflow

A workflow is a linear chain of steps that runs top to bottom in one workspace. Each step is one of two kinds:

KindWhat it does
AgentOpens a session, runs its prompt, and moves on when it finishes.
Human in the loopStops the run and waits for you to approve.

The chain is linear on purpose. Saving requires one path that covers every step you have added, so there is always exactly one answer to "what runs next".

The workflow builder: the Add step palette and context docs on the left, a three-step chain on the canvas flowing from Inputs through two agent steps to a human-in-the-loop step, and the selected step's title, harness, model, and prompt in the inspector on the right.
The builder: palette on the left, the chain on the canvas, the selected step's details on the right.

One session per node

Every agent step is an ordinary Proliferate session, titled with its position in the chain (03 Implement). You can open it mid-run, read the transcript, and chat with the agent while the run is in flight.

This is what makes a workflow debuggable. There is no opaque job to inspect afterwards; there are sessions, and they are the same sessions you use every day.

Inputs and context documents

Two mechanisms carry information through a run.

Inputs are values someone fills in when the run starts. A prompt reads one as @input:name.

Context documents are how one step hands work to the next. You declare a document, pick the step that writes it, and any prompt can reference it as @doc:slug.

Investigate @input:report and write the initial assessment to @doc:triage.

At run time each document becomes a real file in the workspace, under .proliferate/context/<run-id>/. Steps read and edit them like any other file, and the folder is excluded from git, so drafts never land in a diff.

How Proliferate runs workflows

A run is driven by a transition table rather than by whichever step happens to be talking. Every step's prompt envelope is stored as it was actually sent, and the run's state is written before anything acts on it.

That is what keeps the interactive parts honest:

  • Approve releases the run to the next step.
  • Fail & redo fails a step and starts a fresh attempt in its place, with the prompt you edit at that moment.
  • Side nodes run an extra prompt alongside the chain without blocking it.
  • Pause and resume stops the run where it is; restarting Proliferate leaves paused runs exactly where you left them.

Because the record is what happened rather than what was planned, a redone step and an approved step read differently after the fact.

New worktree vs repo root

You choose where a run works when you start it.

PlacementUse it when
New worktreeYou want the run isolated from your other work. This is the usual choice.
Repo rootThe run needs the existing checkout.
Info:

A run holds its workspace for its whole life. Pick the placement that matches what the last step needs, not just the first.

Where to go next

On this page