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

# Debug Record and Report Problems

> Use visible errors, Sample states, and channel states to diagnose viewing, rerun, and export problems.

Let the Runner, active reader, and manual editor stop before inspecting a quiescent Record. Sample selection and ReportInput construction for an export must also have finished; later Report execution and site writing do not access the Record. Then query an explicit Run instead of guessing from a directory name or time.

```sh theme={null}
npx niceeval show --run 01J9ZK3M6P4T7V9X2C5N8QW0RY
npx niceeval show --run 01J9ZK3M6P4T7V9X2C5N8QW0RY \
  --page attempt-01J8ZK3M6P4T7V9X2C5N8QW0RY
```

## The Record cannot be found or opened

| Visible error           | Meaning                                               | Next step                                           |
| ----------------------- | ----------------------------------------------------- | --------------------------------------------------- |
| `record-root-missing`   | The selected Record root does not exist.              | Check the project directory or `--record`.          |
| `record-format-invalid` | The root is not in the `niceeval.record` format.      | Point to the correct `.niceeval/record/` directory. |
| `record-core-invalid`   | The root `record.json` or reserved layout is invalid. | Repair the named root file and issue.               |
| `CoreRead.invalid`      | The selected Run, Member, or Attempt core is invalid. | Repair the named issue in the Sample or slot.       |

Do not replace these errors with an empty result. Repair the named path or file, then read again.

## An expected result is missing from the Sample

A Sample preserves the expected-slot denominator for its Run. Check each slot's state on the page:

| State          | Meaning                                          | Next step                                                       |
| -------------- | ------------------------------------------------ | --------------------------------------------------------------- |
| `included`     | The Member and Attempt are readable.             | Check the required business channel.                            |
| `not-recorded` | An expected slot has no Member.                  | Check whether the Invocation completed, or rerun that scope.    |
| `invalid`      | The Member, Attempt, or reference has a problem. | Repair the named issue; do not treat it as uncollected.         |
| `excluded`     | This selection excluded the item.                | Check `--experiment`, `--eval`, or another selection condition. |

To see what the next run will do, first run:

```sh theme={null}
npx niceeval exp checkout --dry
```

The output identifies whether each slot executes, is `carried`, or waits for an explicit `accepted` Member. It also explains why adoption conditions are not met.

## A channel is unavailable or fails

A channel state affects only the page or Calculation that requested it:

| State         | Meaning                                           | Next step                                                                            |
| ------------- | ------------------------------------------------- | ------------------------------------------------------------------------------------ |
| `unavailable` | It was not collected or does not apply.           | Check whether that run should collect the channel.                                   |
| `unsupported` | The current reader does not support the channel.  | Use a page that does not need it, or a reader that does.                             |
| `invalid`     | The requested channel file or content is invalid. | Repair the named descriptor, file, or content.                                       |
| `partial`     | Collection or decoding is incomplete.             | Read the observed count, denominator, and issue; do not treat the value as complete. |

`unavailable` does not mean `unsupported`, and `unsupported` does not mean `invalid`. A requested invalid channel fails that request. An unrequested channel does not block an unrelated page or export.

## An edit is not visible

`show` and `view` create one fixed ReportInput for a command. If you edit a Verdict, Usage, or another channel after the Record becomes quiescent, end the current viewer and run it again:

```sh theme={null}
npx niceeval view --run 01J9ZK3M6P4T7V9X2C5N8QW0RY --no-open
```

Do not run a Runner or active reader while editing. An export holds its reader only while it selects the Sample and creates ReportInput; Report execution and site writing no longer access the Record afterward.

## JSON has no receipt

`npx niceeval exp <experiment> --json` writes its final receipt only after it successfully creates an Invocation. If input validation fails first, there are no `runIds` to inspect.

Correct the Experiment, Eval selection, or command argument and run it again. When it succeeds, use the receipt's `runIds` with `show`, `view`, or `view --out`.

## A static report site cannot export

`view --out` can export only planned pages, downloads, and assets. A requested invalid channel, missing asset, network URL, bad path, or symbolic link makes the export fail.

Correct the error and export again. A successful static directory includes a `StaticAssetManifest` and opens in an offline browser; it does not read the source Record.

See [Viewing Results](/docs/tutorials/viewing-results) and [Publish a Static Report](/docs/tutorials/publish-report) for the full workflows.
