> This page is for version 0.5.1.
> 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.harness_capabilities.cli

Standalone command: python -m nemo\_gym.harness\_capabilities inspect --bundle FILE.

## Module Contents

### Functions

| Name                                                                      | Description                                                                 |
| ------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
| [`_json`](#nemo_gym-harness_capabilities-cli-_json)                       | -                                                                           |
| [`_reject_constant`](#nemo_gym-harness_capabilities-cli-_reject_constant) | -                                                                           |
| [`digest_file`](#nemo_gym-harness_capabilities-cli-digest_file)           | -                                                                           |
| [`inspect_bundle`](#nemo_gym-harness_capabilities-cli-inspect_bundle)     | Write an immutable content-addressed report set after a complete read.      |
| [`inspect_matrix`](#nemo_gym-harness_capabilities-cli-inspect_matrix)     | Check each harness bundle and publish a reproducible harness × TE matrix.   |
| [`json_rows`](#nemo_gym-harness_capabilities-cli-json_rows)               | Read JSONL strictly; malformed/truncated rows are checker errors.           |
| [`main`](#nemo_gym-harness_capabilities-cli-main)                         | -                                                                           |
| [`run_inspection`](#nemo_gym-harness_capabilities-cli-run_inspection)     | Inspect retained rollouts and print the report location; return 0, 1, or 2. |

### API

```python
nemo_gym.harness_capabilities.cli._json(
    value: object
) -> str
```

```python
nemo_gym.harness_capabilities.cli._reject_constant(
    value: str
) -> None
```

```python
nemo_gym.harness_capabilities.cli.digest_file(
    path: pathlib.Path
) -> str
```

```python
nemo_gym.harness_capabilities.cli.inspect_bundle(
    bundle: pathlib.Path,
    output: pathlib.Path,
    profile: str = PROFILE,
    scope: nemo_gym.harness_capabilities.checker.EvidenceScope = EvidenceScope(),
    capture_dir: pathlib.Path | None = None
) -> tuple[pathlib.Path, dict]
```

Write an immutable content-addressed report set after a complete read.

A checker error never replaces an earlier report or leaves a current-looking
summary. Files are hashed before and after reading to detect changing input.

```python
nemo_gym.harness_capabilities.cli.inspect_matrix(
    harnesses: dict[str, pathlib.Path],
    output: pathlib.Path,
    scope: nemo_gym.harness_capabilities.checker.EvidenceScope = EvidenceScope()
) -> tuple[pathlib.Path, dict]
```

Check each harness bundle and publish a reproducible harness × TE matrix.

```python
nemo_gym.harness_capabilities.cli.json_rows(
    path: pathlib.Path
) -> typing.Iterator[tuple[int, dict]]
```

Read JSONL strictly; malformed/truncated rows are checker errors.

```python
nemo_gym.harness_capabilities.cli.main(
    argv: list[str] | None = None
) -> int
```

```python
nemo_gym.harness_capabilities.cli.run_inspection(
    bundle: pathlib.Path,
    output: pathlib.Path,
    profile: str = PROFILE,
    capture_dir: pathlib.Path | None = None,
    scope: nemo_gym.harness_capabilities.checker.EvidenceScope = EvidenceScope()
) -> int
```

Inspect retained rollouts and print the report location; return 0, 1, or 2.