Skip to main content
A .evidence file is an ordinary zip file. Run unzip -l <pack> to list its contents, or unzip -p <pack> <entry> to print a single file without extracting the rest.

The layout

In a testrun pack, each test in the suite (each member) gets its own tests/<test-id>/ directory under the same root.

The required files

A validation profile sets which files a pack must contain. L0 is the minimal profile, and it requires three files. Kane CLI packs validate against L1. Once the run is finalized, L1 requires four more artifacts: each test’s logs/ directory (with its meta.yaml), each test’s steps/ directory, a global coverage/ directory, and the failure.yaml at the pack root.

Reading a pack without unzipping it

The sealed zip is flat. Its entries are exactly the contents of the pack directory, with run.yaml at the root of the archive and no wrapping folder. Each entry is compressed on its own, so a tool can read the zip’s index (its central directory) and then fetch only the entries it needs. This is how the hosted viewer opens a very large pack after downloading only a few kilobytes.

Run status and test verdicts

The format tracks two separate things: where the run is in its lifecycle, and what each test concluded. Run lifecycle, in run.yaml.status: Test verdicts, used at both test level and step level: The difference between failed and broken is central to the model. It separates “the product is wrong” from “we could not tell”. The lifecycle status is not a verdict, so a finalized run can still contain failed tests.

Next steps