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

# The simulation report

> One live page per project that shows every stage of the simulation, from the scan to the fixes, at the same link every time.

The report is a single page that shows what the simulation built, how your agent did, and what to fix.
`/simulate` creates it at the start and updates it at every stage, so you can watch the simulation while
it runs and come back to the same link afterwards.

![The report](https://mintcdn.com/plurai/V3XeGRFO5iyJejs5/images/report/gaps.png?fit=max\&auto=format\&n=V3XeGRFO5iyJejs5\&q=85\&s=bb915a0d2029bf50e189cf45108608b5)

A finished report: the Stages band across the top, with the Gaps stage open.

## When the report is created and updated

`/simulate` publishes the report as soon as it starts, before the scan has written anything. From then
on, each stage updates the same page:

| Moment | What changes on the page |
| - | - |
| Each stage ends | The stage's section fills in and its tab in **Stages** reads **Done**. |
| While the suite is being built | The **Suite** stage updates as scenarios land, then as evals land, then again when the final suite is ready. |
| While the Run plays | Squares land in the **Attempt grid** as each conversation finishes. Outcomes follow once the Run is scored. |
| A stage stops without finishing | Its tab reads **Halted** and the page says **Run the simulation again to continue.** |

Each stage command run on its own (`/simulation-scan-agent`, `/analyze-traces`,
`/simulation-generate-suite`, `/simulation-run`, `/simulation-fixes`) updates the same page too. So do
the edit commands, such as `/edit-evals` or `/edit-env`.

### The Stages band

The band at the top of the page has one tab per stage: **Scan**, **Traces**, **Suite**, **Run** and
**Gaps**. The fixes stage shows inside **Gaps**. Each tab shows a short count when it has one, such as
the number of mocked surfaces, scenarios and evals, or how many scenarios passed.

| State | Meaning |
| - | - |
| **Pending** | The stage has not started. |
| **Running** | The stage is working now. The tab shows the current step. |
| **Done** | The stage finished and its section is final. |
| **Skipped** | The stage did not run. **Traces** reads **Skipped** when the suite isn't grounded in production traces. |
| **Stalled** | The page has had no update from this stage for a long time. It shows **No update for** and how long. |
| **Halted** | The stage stopped before it finished. |
| **Done, fixing** | The Run is done and the fixes stage is tracing each confirmed gap to the code that causes it. |

A section can also carry one of these notes:

| Note | Meaning |
| - | - |
| **Draft** | *Still being built, parts may change before this Stage is Done.* Read it as a preview. |
| **From an earlier simulation** | This stage has not run yet this time. What you see is what the last simulation left. |
| **Calibration** | During the suite build, the first scenarios calibrate the simulator. The real suite replaces them when it's ready. |

## Open and share the report

What the link opens depends on your coding agent.

> [tab] Claude Code
>
> The page opens in your browser when the run starts and updates live as it goes. The private link to it,
> a page on claude.ai in your account, comes once, at the end of the run: when it finishes, halts, or you
> stop it.
>
> ```text theme={null}
> Overview page → https://claude.ai/…#run
> ```
>
> Start Claude Code from your agent's folder or a folder above it. From anywhere else, the page stays on
> your machine and no link is published.
>
> The link is the same for the whole project, on every later run. Each publish updates the page in place, so a tab you keep
> open shows the newest version when you reload it. The page is private to your account until you share
> it from claude.ai.
>
> The page is also saved as a file in your project, at `plurai_sim/artifacts/report.html`. That copy
> updates within seconds while a Run plays, without a reload. If a publish fails, the link line points
> at that file instead and says so.

> [tab] Codex CLI and Copilot CLI
>
> These coding agents can't publish a page, so the report stays a file on your machine. The stage summary
> ends with:
>
> ```text theme={null}
> The overview page is saved at /path/to/your/project/plurai_sim/artifacts/report.html; open it in a browser.
> ```
>
> Open the file in a browser and leave it open. It checks for new data every 2 seconds and updates in
> place, so you watch the Run play without reloading. Nothing is uploaded to publish it.
>
> To share it, send the file. It is self-contained.

> [!NOTE]
>
> With a [saved environment](https://docs.plurai.ai/guides/environments.md), the file lives under
> `plurai_sim/envs/<name>/artifacts/report.html`. The `artifacts/` folder is git-ignored by default, so
> the report is not committed with your environment.

If the report could not show part of a stage, the chat summary says so in one line, for example
*The overview page could not show 2; the summary above is authoritative.* Trust the chat summary
for those numbers.

## Link to a section

Add an anchor to the report link to open a stage, or a specific item.

| Anchor | Opens |
| - | - |
| `#scan` | The **Scan** stage: **Your digital twin** and **Your knowledge base**. |
| `#traces` | The **Traces** stage: **Production traces**. |
| `#suite` | The **Suite** stage: **Your test suite**, **Your agent flow graph**, the scenarios and the evals. |
| `#run` | The **Run** stage: **Simulation run results**. |
| `#gaps` | The **Gaps** stage: **Gaps and fixes**. `#fixes` opens the same stage. |
| `#knowledge` | **Your knowledge base**, on the **Scan** stage. |
| `#scenario-<scenario id>` | That scenario's drawer. |
| `#eval-<eval id>` | That eval in the suite. |
| `#gap-<gap id>` | That gap, expanded, in **Gaps and fixes**. |

You can also point at one turn of one conversation:

```text theme={null}
#run.drawer-<scenario id>.run-<run folder>.attempt-<n>.turn-<n>
```

Turns count from 0 in the anchor and from 1 on the page. A link to a stage that has nothing to show yet
opens the stage that is running.

## What's withheld under anonymization

If your environment sets `anonymize: true` in `plurai.config.yaml`, the report keeps structure, ids,
counts, verdicts and eval names, and withholds your text. The page shows **Some of this report is
withheld** and lists what it left out:

| What you see | What's withheld |
| - | - |
| *This environment is anonymized, so the customer's text is withheld.* | Conversation turns. |
| *Lines quoted from conversations are withheld.* | Every quote a judge or a finding took from a turn. |
| *Judges' reasoning and explanations are withheld, as they restate the conversation.* | Eval reasoning. |
| *The seeded Agent context is withheld.* | The context each scenario seeds into your agent. |
| *Each scenario's summary, pass condition and persona are withheld.* | Scenario text written for your suite. |
| *The evidence findings cite is withheld, as it quotes conversations.* | Evidence on gaps and production failures. |
| *Lines quoted from the Agent's prompt and requirements are withheld.* | Eval provenance quotes. |
| *The text of the customer's documents, and the questions asked about them, are withheld.* | Knowledge base passages and planted questions. |

Under anonymization, seeded and final world records keep only their kind, and every tool call keeps its
name and status but not its arguments or response.

In every posture, the report scrubs machine paths, backend and mock hostnames, and anything that looks
like a credential, key or token before it fills the page. See [Data and privacy](https://docs.plurai.ai/security/data-and-privacy.md).

### Trimmed to fit

A very large run can exceed what one page holds. The report then drops the least useful data first, and
says what it dropped, for example *To fit, earlier Runs keep only each scenario's first attempt.* or
*To fit, the conversations of scenarios that passed are left out.* The failing conversations of the
current Run are kept longest.

## Light and dark

The report follows your system's light or dark setting. Use the **Switch to dark mode** /
**Switch to light mode** button to override it. Your browser remembers the choice.

## Sections of the report

> [card] [Scan stage](https://docs.plurai.ai/report/scan.md)
>
> **Your digital twin** and **Your knowledge base**: what is mocked, and the documents your agent answers from.

> [card] [Suite and traces stages](https://docs.plurai.ai/report/suite.md)
>
> **Your test suite**, **Your agent flow graph**, every scenario and eval, and **Production traces**.

> [card] [Run stage](https://docs.plurai.ai/report/run-results.md)
>
> **Simulation run results**: the attempt grid, pass rates, consistency and every conversation.

> [card] [Gaps stage](https://docs.plurai.ai/report/gaps-and-fixes.md)
>
> **Gaps and fixes**: every failure worst first, its diagnosis, its fix and the regressions kept.


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