Skip to main content
A Flow run executes a repository’s tests against the program. It is deterministic: no model decides a result.

When it runs

  • After Flow generation stores tests. That run is the repository’s baseline.
  • When you press Run or Re-run on the Flow run row of the repository’s Pipeline tab.

What happens in a run

The run works on a private copy of the repository. It brings in what Flow setup produced and the values registered on the Dependencies tab. Then it builds the program with the recipe and executes the tests:
  • A CLI step runs the program’s command line.
  • An API test gets a fresh server of its own, in an isolated sandbox. Services start and the seed runs once per run.
  • A web step drives the program’s web app in Chromium.
  • A test that reaches a provided external service goes through a proxy the run controls.
The run stores its snapshot and every test’s evidence in Postgres, then deletes its copy of the repository.
Web steps need Playwright’s Chromium on the machine that runs the server. A run never downloads a browser. See Installation.

The Runs tab

A repository’s Runs tab, one of the tabs of its console, lists its runs, newest first. The run in flight leads the list and says which step it is on, or reads Queued while it waits for its turn. The columns are Commit, Branch, Origin, Result and When. The result is Passed or Failed, followed by a count for each outcome. Search by commit or branch.

Outcomes

Regenerating the tests clears Stale and Orphaned.

A run’s page

A run opens on its own page, with its commit, time, duration and result. Pick a result to read its evidence:
  • the transcript of what the test ran and what came back, with credentials and external service values masked;
  • for web steps, a strip of screenshots in step order, with the failing step marked;
  • for a browser session, a Replay of the recording.

The visual judge

A Flow run can ask the model one question: what a failing web step’s screenshot shows. The answer is an annotation only. It never changes an outcome. It is off by default. Turn it on with TRUECOURSE_GUARD_VISUAL_JUDGE, and it uses the workspace’s model provider. See Models & environment.

Next steps

How it works

Flow statuses, and how runs feed Flows and Home.

Models & environment

Concurrency limits for a run’s sandboxes and servers.