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

> ## Agent Instructions
> Install with `uv add whileai`; import as `import whileai as wai`.
> Run the offline path first (`simulator=False`, `wai.seeded_agent`, a callable judge); no key is needed for it.
> Report every pass rate with its interval and n, as `scored.pass_at` prints it.

# whileai.simulations.run

> The search loop that spends the budget.

1 public names. `import whileai.simulations as wai`, then `wai.name`.

| Name                                    | What it does      |
| --------------------------------------- | ----------------- |
| [`resolve_topology`](#resolve_topology) | Map public knobs. |

### resolve\_topology

```python theme={"theme":"vitesse-dark"}
resolve_topology(
    mode: str | None = None,
    repeat_policy: str | None = None,
    unique: bool = False,
    unique_situations: bool = False,
    requests_per_situation: int | None = None,
    n: int | None = None,
    phrasings: int | None = None,
    rollouts_per_request: int | None = None,
    repeats: int | None = None,
    rollouts_per_prompt: int | None = None,
) -> dict[str, Any]
```

Defined in [`whileai/simulations/run/config.py`](https://github.com/whilehq/whileai-sdk/blob/main/whileai/simulations/run/config.py).

Map public knobs. Phrasings (n) are wordings per situation; repeats (k) are reruns per phrasing.
