> This page is for version Main (default).
> For other versions, use one of these documentation indexes:
> - Main (default): https://docs.nvidia.com/nemo/gym/main/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.checks

Typed check definitions; execution state and reporting live in Results.

## Module Contents

### Classes

| Name                                                                       | Description                                                                 |
| -------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
| [`BehavioralCheck`](#nemo_gym-harness_capabilities-checks-BehavioralCheck) | Evaluate behavior or evidence against independent controlled observations.  |
| [`Check`](#nemo_gym-harness_capabilities-checks-Check)                     | One rule bound to the input being inspected. TE labels do not set priority. |
| [`Evaluation`](#nemo_gym-harness_capabilities-checks-Evaluation)           | A predicate outcome and any specific failure locations, without payloads.   |
| [`SchemaCheck`](#nemo_gym-harness_capabilities-checks-SchemaCheck)         | Validate the selected input against this check's JSON Schema.               |
| [`SemanticCheck`](#nemo_gym-harness_capabilities-checks-SemanticCheck)     | Evaluate a relationship between retained evidence records.                  |
| [`_PredicateCheck`](#nemo_gym-harness_capabilities-checks-_PredicateCheck) | -                                                                           |

### Data

[`Kind`](#nemo_gym-harness_capabilities-checks-Kind)

[`PriorityTier`](#nemo_gym-harness_capabilities-checks-PriorityTier)

### API

```python
class nemo_gym.harness_capabilities.checks.BehavioralCheck(
    id: str,
    tier: nemo_gym.harness_capabilities.checks.PriorityTier,
    evidence: tuple[str, ...],
    location: str,
    reason: str,
    depends_on: tuple[str, ...] = (),
    applies: bool = True,
    available: bool = True,
    predicate: collections.abc.Callable[[], bool]
)
```

Dataclass

**Bases:** [\_PredicateCheck](#nemo_gym-harness_capabilities-checks-_PredicateCheck)

Evaluate behavior or evidence against independent controlled observations.

**`kind`** `Kind = 'behavioral'`

---

```python
class nemo_gym.harness_capabilities.checks.Check(
    id: str,
    tier: nemo_gym.harness_capabilities.checks.PriorityTier,
    evidence: tuple[str, ...],
    location: str,
    reason: str,
    depends_on: tuple[str, ...] = (),
    applies: bool = True,
    available: bool = True
)
```

Dataclass

Abstract

One rule bound to the input being inspected. TE labels do not set priority.

**`applies`** `bool = True`

---

**`available`** `bool = True`

---

**`depends_on`** `tuple[str, ...] = ()`

---

**`evidence`** `tuple[str, ...]`

---

**`id`** `str`

---

**`kind`** `Kind`

---

**`location`** `str`

---

**`reason`** `str`

---

**`tier`** `PriorityTier`

---

```python
nemo_gym.harness_capabilities.checks.Check.__post_init__() -> None
```

```python
nemo_gym.harness_capabilities.checks.Check.evaluate() -> nemo_gym.harness_capabilities.checks.Evaluation
```

abstract

Evaluate only after applicability, availability and prerequisites pass.

```python
class nemo_gym.harness_capabilities.checks.Evaluation(
    passed: bool,
    locations: tuple[str, ...] = ()
)
```

Dataclass

A predicate outcome and any specific failure locations, without payloads.

**`locations`** `tuple[str, ...] = ()`

---

**`passed`** `bool`

---

```python
class nemo_gym.harness_capabilities.checks.SchemaCheck(
    id: str,
    tier: nemo_gym.harness_capabilities.checks.PriorityTier,
    evidence: tuple[str, ...],
    location: str,
    reason: str,
    depends_on: tuple[str, ...] = (),
    applies: bool = True,
    available: bool = True,
    schema: dict,
    value: object
)
```

Dataclass

**Bases:** [Check](#nemo_gym-harness_capabilities-checks-Check)

Validate the selected input against this check's JSON Schema.

**`kind`** `Kind = 'schema'`

---

**`schema`** `dict`

---

**`value`** `object`

---

```python
nemo_gym.harness_capabilities.checks.SchemaCheck.evaluate() -> nemo_gym.harness_capabilities.checks.Evaluation
```

```python
class nemo_gym.harness_capabilities.checks.SemanticCheck(
    id: str,
    tier: nemo_gym.harness_capabilities.checks.PriorityTier,
    evidence: tuple[str, ...],
    location: str,
    reason: str,
    depends_on: tuple[str, ...] = (),
    applies: bool = True,
    available: bool = True,
    predicate: collections.abc.Callable[[], bool]
)
```

Dataclass

**Bases:** [\_PredicateCheck](#nemo_gym-harness_capabilities-checks-_PredicateCheck)

Evaluate a relationship between retained evidence records.

**`kind`** `Kind = 'semantic'`

---

```python
class nemo_gym.harness_capabilities.checks._PredicateCheck(
    id: str,
    tier: nemo_gym.harness_capabilities.checks.PriorityTier,
    evidence: tuple[str, ...],
    location: str,
    reason: str,
    depends_on: tuple[str, ...] = (),
    applies: bool = True,
    available: bool = True,
    predicate: collections.abc.Callable[[], bool]
)
```

Dataclass

**Bases:** [Check](#nemo_gym-harness_capabilities-checks-Check)

**`predicate`** `Callable[[], bool]`

---

```python
nemo_gym.harness_capabilities.checks._PredicateCheck.evaluate() -> nemo_gym.harness_capabilities.checks.Evaluation
```

```python
nemo_gym.harness_capabilities.checks.Kind = Literal['schema', 'semantic', 'behavioral']
```

```python
nemo_gym.harness_capabilities.checks.PriorityTier = Literal['P0', 'P1', 'P2']
```