Skip to main content

Run states

A completed run also carries an overall status of passed or failed. completed means “it ran to the end”; passed means “and everything was fine”. The CLI and API report the overall status.

Step states

A step can also pass with a warning: the action worked, but something is worth knowing. The app moved the page mid-step. An Enter key was ignored and a click stood in for it. A typed value was no longer in any visible field by the end of the run. A resolution had to guess and is telling you what it picked. Warnings do not fail a run. They are the difference between a green test you trust and one you should look at.

How the overall status is decided

A run passes when all of these hold:
  1. Every step that executed passed.
  2. No coverage gap was left, so nothing you asked for went unchecked.
  3. The report’s own verdict agrees.
If the report disagrees with the steps, a synthetic failed step is appended and the run fails. Prose never overrides observation, and prose never creates a failure either: only an executed, failed step can say the app misbehaved.

Failure causes

An internal failure is deliberately excluded from three things: the silent retry budget, another lap of a long-polling assertion, and a “rejected as expected” pass on a negative test. Only the application refusing an action can satisfy a negative test.

Other run signals