Artifact layout
Each run writes its artifacts to:<workspace-hash> is derived from your project directory, so each repository gets its own isolated artifacts folder.
| File or folder | Contents |
|---|---|
result.json | Test outcome, failure message, and step-level results. |
actions/ | Individual agent action files (JSON) showing the agent’s reasoning, the action taken, and whether it succeeded at each step. |
screenshots/ | Per-step screenshots showing the device screen at each action. |
recording.mp4 / recording.mov | Screen recording of the full test run. |
device.log | Device-level logs — logcat on Android, log stream on iOS — captured during the run. |
runner.log | The CLI’s own log for the entire run, written at the run directory root. |
Listing recent runs
Usefinalrun runs to list local reports for the current workspace:
Opening the report UI
The local report UI lets you browse run artifacts with video playback, device log search, and step-by-step screenshots.Report UI features
Video playback
Watch the full screen recording of any run. Scrub to any moment to see exactly what was on the device.
Step-by-step screenshots
Browse per-action screenshots alongside the agent’s action details for each step.
Device log search
Search and filter device logs (logcat or log stream) captured during the run. Filter by log level to focus on errors and warnings.
Managing the server
Targeting a different workspace
All report commands accept--workspace <path> when you want to inspect runs from a project other than the current directory:
Reading result.json
result.json is the canonical record of a run. It contains the overall test outcome (pass or fail), a human-readable failure message, and step-level results that map directly to the entries in actions/ and screenshots/. When your AI coding agent reads artifacts after a failure, result.json is the first file it reads to identify which step failed and why.
When the
/finalrun-use-cli or /finalrun-test-and-fix skill diagnoses a failure, it reads result.json, the matching actions/ entry, and the screenshot at the failed step before suggesting any fix. You can do the same inspection manually using finalrun start-server.