> This page is for version 0.5.0.
> For other versions, use one of these documentation indexes:
> - Main (default): https://docs.nvidia.com/nemo/gym/main/llms.txt
> - 0.7.0: https://docs.nvidia.com/nemo/gym/v0.7.0/llms.txt
> - 0.6.0: https://docs.nvidia.com/nemo/gym/v0.6.0/llms.txt
> - 0.5.1: https://docs.nvidia.com/nemo/gym/v0.5.1/llms.txt
> - 0.5.0: https://docs.nvidia.com/nemo/gym/v0.5.0/llms.txt
> - 0.4.0: https://docs.nvidia.com/nemo/gym/v0.4.0/llms.txt
> - 0.3.0: https://docs.nvidia.com/nemo/gym/v0.3.0/llms.txt
> - 0.2.1: https://docs.nvidia.com/nemo/gym/v0.2.1/llms.txt

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nvidia.com/nemo/gym/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/nemo/gym/_mcp/server.

# nemo_gym.artifacts.rollout_rows

The rollout rows a run writes: the private keys that mark a row, and the row as it is exported.

## Module Contents

### Functions

| Name                                                                                            | Description                                                                                       |
| ----------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
| [`_rollout_for_export`](#nemo_gym-artifacts-rollout_rows-_rollout_for_export)                   | Keep canonical operation evidence in the exporter view, without conversation or capture payloads. |
| [`_strip_capture_payloads`](#nemo_gym-artifacts-rollout_rows-_strip_capture_payloads)           | -                                                                                                 |
| [`is_no_generation_placeholder`](#nemo_gym-artifacts-rollout_rows-is_no_generation_placeholder) | Whether `response` carries the `NG_NO_GENERATION_METADATA` marker.                                |

### Data

[`NG_DISPATCH_DRAINED_KEY`](#nemo_gym-artifacts-rollout_rows-NG_DISPATCH_DRAINED_KEY)

[`NG_FAILURE_CLASS_KEY`](#nemo_gym-artifacts-rollout_rows-NG_FAILURE_CLASS_KEY)

[`NG_NO_GENERATION_METADATA`](#nemo_gym-artifacts-rollout_rows-NG_NO_GENERATION_METADATA)

[`NG_NO_PERSIST_KEY`](#nemo_gym-artifacts-rollout_rows-NG_NO_PERSIST_KEY)

[`_MODEL_CALL_PAYLOAD_KEYS`](#nemo_gym-artifacts-rollout_rows-_MODEL_CALL_PAYLOAD_KEYS)

### API

```python
nemo_gym.artifacts.rollout_rows._rollout_for_export(
    result: dict[str, typing.Any]
) -> dict[str, typing.Any]
```

Keep canonical operation evidence in the exporter view, without conversation or capture payloads.

```python
nemo_gym.artifacts.rollout_rows._strip_capture_payloads(
    result: dict[str, typing.Any]
) -> None
```

```python
nemo_gym.artifacts.rollout_rows.is_no_generation_placeholder(
    response: collections.abc.Mapping[str, typing.Any]
) -> bool
```

Whether `response` carries the `NG_NO_GENERATION_METADATA` marker.

```python
nemo_gym.artifacts.rollout_rows.NG_DISPATCH_DRAINED_KEY = '_ng_dispatch_drained'
```

```python
nemo_gym.artifacts.rollout_rows.NG_FAILURE_CLASS_KEY = '_ng_failure_class'
```

```python
nemo_gym.artifacts.rollout_rows.NG_NO_GENERATION_METADATA = {'ng_no_generation': 'true'}
```

```python
nemo_gym.artifacts.rollout_rows.NG_NO_PERSIST_KEY = '_ng_no_persist'
```

```python
nemo_gym.artifacts.rollout_rows._MODEL_CALL_PAYLOAD_KEYS = ('request', 'response', 'request_raw', 'response_raw')
```