Skip to main content
When a run fails, start with its evidence pack. Everything is in one place, and every log line and screenshot is tied to the step that produced it.

The four steps

  1. Open the pack. Accept the post-run offer, or run kane-cli evidence serve <pack> and open the viewer URL.
  2. Go to the failed step. The run overview marks it. Its failure record shows the error message and the state of the page when the step failed.
  3. Check the step’s console and network activity. Logs are split by step, so you see exactly what the browser logged and requested while that step ran. A 4xx or 5xx response or a JavaScript error in these logs usually explains the failure.
  4. Look at the annotated screenshot. It highlights the element the agent acted on, so failures such as “clicked the wrong thing” or “element was not there” are easy to spot.

Reading a failure record

A failed or broken step normally has its own failure.yaml. It holds the error, the page state at the time of failure, and references into the console and network logs. The pack root has a failure.yaml index that collects all of them, so you can see every failure in the run without opening each step. Every record must show what went wrong: an error.message, an expected and an actual value, or both.

failed or broken

The verdict tells you where to look first. If you treat both verdicts the same, a flaky environment can end up filed as a product bug. Keeping them separate prevents that.

Working from the command line

A sealed pack is a zip file, so you can answer quick questions without the viewer:

When the pack itself looks wrong

If a pack does not open, run kane-cli evidence validate. An unsealed pack, for example from a run that was force-killed, gets the structure checks only and can still report as valid. A truncated pack cannot be read at all. In both cases, the run’s pack is also in the session directory:

Next steps