Documentation / VFX-E-1510

VFX-E-1510

Title

StepNotInRun

Explanation

get_step_timeline read the run's event stream and found no step with the id you asked about — neither a step-attempt event nor a step-completed event names it.

Step ids are matched exactly, ordinally. There is no prefix matching, no case folding and no fuzzy suggestion, because a step id is a machine-supplied correlation key rather than a search term: answering about a step whose id merely resembles yours would be a worse failure than saying no.

This is deliberately an error rather than an empty timeline, and the distinction is the point. "This step ran and recorded no individual attempts" is a real state — a step left on the default IMMEDIATE verify mode has a completion event and no attempt events at all — and get_step_timeline reports it as a successful result with an empty attempts array and a conclusion that says so. If an unknown step id produced the same shape, a typo would be indistinguishable from a finding about your suite.

A step can also be absent for reasons that have nothing to do with its id. A run cut short by a cancellation, a timeout or an environment error never reaches the steps after the one that stopped it, so those steps have no events. A suite refused by run_suite's pre-flight validation never ran at all. And when a run's events file exceeded this server's 50 MB read cap, the tail of the stream — including whatever steps it held — was never read; explain_run reports that as eventsTruncated.

This error is not retryable: a finished run's event stream is not rewritten, so the identical call reports the identical thing.

Common causes

  • The step id was typed or paraphrased rather than copied from the run's own output.
  • The step exists in the suite file but never ran — an earlier step's failure, cancellation or timeout ended the run before it, or the whole suite was refused by pre-flight validation.
  • The id belongs to a step in a different suite, and this run covered only some of your suites.
  • The step id in the suite was edited after the run finished, so the file and the run's events no longer agree.
  • The run's events file hit the 50 MB read cap and the step's events are in the part that was never read.

Fixes

  • Call explain_run for the same run and take a step id from notableSteps[].stepId.
  • For the full list including steps that passed, call get_run_events with types: ["step-completed"] and read each event's stepId.
  • Check the run's verdict with get_run_status: an Inconclusive or EnvironmentError run often stopped before reaching the step you are asking about, and explain_run will say where it stopped.
  • If the suite has been edited since the run, run it again with run_suite and ask about the new run — the old run's stream records the step ids that existed when it ran.