> ## Documentation Index
> Fetch the complete documentation index at: https://synthlabs.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Review runs and results

> Separate execution state, task quality and evidence before comparing agents.

Save the run ID when you submit work. It is your route back to execution and its available evidence; a screenshot of a score is not a substitute for that record.

## Know what happened

Read a result in this order:

1. **What did I request?** Check the exact task set, actor and scoring method.
2. **What happened?** Read the state and any failure or cancellation reason.
3. **What did it produce?** Open the output and recorded assessment.
4. **What supports the result?** Inspect the trajectory, verification output and available artifacts.

```bash theme={null}
synth run show <run-id>
synth run result <run-id>
synth run groups <run-id>
synth run trials <run-id>
```

Replace `<run-id>` with the full ID returned by submission or `synth run list`. The same readers work for execution, evaluation and training.

## Finished does not mean correct

| Observation | What you can conclude |
| - | - |
| A submission returned an ID | Work was accepted; it has not necessarily executed yet. |
| The execution succeeded | The execution finished successfully; the agent may still have a poor score. |
| A reward was recorded | An assessment produced that value; inspect what it measured. |
| An optimizer update committed | The model was updated; improvement requires a separate comparison. |
| A checkpoint was saved | A model artifact exists; it is not automatically better than its parent. |
| An artifact is missing | The available record is incomplete; do not invent its contents or treat the absence as a zero score. |

A failed run may still have useful outputs or saved checkpoints. Inspect the evidence before discarding the work or submitting a replacement.

## Counts have units and scope

| Count | Meaning |
| - | - |
| Planned trials | The requested amount of work, not the number of retry records. |
| Trial | One task execution; terminal trials can include failures and cancellations. |
| Sampling group | Trials of a selected task under a particular sampled model/setup. |
| Training batch | A planned collection of task groups. |
| Optimizer update | A committed model optimization operation. |
| Checkpoint | A saved model artifact, not a progress event or recovery-state file. |
| Platform attempt | An execution or recovery attempt within the same run. |

For example, `15 batches × 4 tasks × 16 trials = 960 planned trials`. That does not imply 960 successful assessments, 15 updates, or 60 distinct tasks. Dataset membership and the task-selection policy determine coverage.

A recovery can create more physical trial records without creating a new experiment. Check the scope printed by an evidence page: an attempt-local trial count is not whole-run progress. An input checkpoint from an older run is not a checkpoint created by the new run.

For training, inspect the actual model outputs:

```bash theme={null}
synth run updates <run-id>
synth run checkpoints <run-id>
synth checkpoint show <checkpoint-id>
```

Copy `<checkpoint-id>` from the checkpoint list; it is different from the run ID.

## Read scores with their population

An average is meaningful only with its task set, scoring rule and coverage. If 17 of 18 trials have scores, an average over those 17 is not a fully scored 18-trial evaluation. The remaining trial might still be running, or it might have finished without an assessment; check which.

Different task verifiers can use different scales. Do not assume that averaging all available scores weights every task equally or makes different datasets comparable. A training run changes the model over time; its per-group rewards are diagnostics, not a single fixed-model performance claim.

For code review, examine valid findings and false positives. More findings do not necessarily make a reviewer more useful.

## Follow work and preserve evidence

```bash theme={null}
synth run events <run-id> --follow --timeout 10m
synth run artifacts <run-id>
```

Ending a local event watch does not cancel the remote run. Check `synth run show <run-id>` again if the watch ends before execution does.

Once the run has reached a terminal state, export its evidence:

```bash theme={null}
synth run export <run-id> --output ./<run-id>-evidence
```

Substitute the same run ID in the command and directory name. Use a new export directory and inspect the export's coverage; retained evidence is not necessarily a complete historical sandbox image.

For scripts, use `--json` and the documented command exit behavior. [Automation](/integrations/automation) explains how to avoid parsing human tables.

Use [Lifecycle and recovery](/operations/lifecycle-and-recovery) and [Errors and retry safety](/operations/errors) before retrying uncertain work.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.