Skip to navigation

nemo_gym.environment.validation

View as MarkdownOpen in Claude

Static manifest validation for manifest-backed workloads.

Module Contents

Classes

NameDescription
DatasetValidation-
EnvironmentValidationErrorA manifest-backed workload failed static manifest validation.
EnvironmentValidationReport-
ResolvedComponent-
ResolvedComposition-
_ConfigWiringThe servers a workload config wires around its dataset-bearing agent.
_ServerLookupParserReject partially valid server configs before the parser prints its almost-server banner.

Functions

NameDescription
_base_name-
_catalog_directory-
_catalog_resources_serverThe resources binding selected by all dataset routes, or unknown when they do not identify one instance.
_component_root-
_contains_not_implemented_raise-
_implementation_name-
_infer_profile-
_iter_dataset_rows-
_json_value-
_manifest_dataset-
_mirror_differences-
_mirror_values-
_only_delegates_to_super-
_only_raises_not_implemented-
_parse_python_file-
_profile_warnings-
_render_value-
_resolve_config_wiringResolve which servers a workload config wires, without probing or materializing runtime services.
_resolve_dataset_owner_agentThe agent rollout dispatch routes owner_instance_name’s datasets to (validation-time check).
_resolve_manifest_compositionResolve manifest wiring, with datasets in manifest form, without probing or materializing runtime services.
_select_dataset_agent-
_server_class-
_validate_benchmark_prompt_contract-
_validate_dataset-
_validate_manifest_location-
_validate_prepare_script-
_validate_rollout_driver-
_with_component_root-
_write_manifest_atomically-
resolve_config_serversThe resources server and agent selected by a workload config’s runtime routes.
validate_environmentValidate a manifest without probing services or runtime output paths.

Data

logger

API

class nemo_gym.environment.validation.DatasetValidation(
name: str,
type: str,
path: str,
rows: int,
prompt_config: str | None = None
)
Dataclass
name
str
path
str
prompt_config
str | None = None
rows
int
type
str
class nemo_gym.environment.validation.EnvironmentValidationError()

Bases: ConfigError

A manifest-backed workload failed static manifest validation.

class nemo_gym.environment.validation.EnvironmentValidationReport(
name: str,
version: str,
kind: str,
declared_profile: str,
inferred_profile: str,
profile_evidence: str,
manifest_path: str,
config_path: str,
rollout_driver: str | None = None,
grading_mode: str | None = None,
synchronized_fields: tuple[str, ...] = (),
warnings: tuple[str, ...] = ()
)
Dataclass
components
tuple[ResolvedComponent, ...]
config_path
str
datasets
tuple[DatasetValidation, ...]
declared_profile
str
grading_mode
str | None = None
inferred_profile
str
kind
str
manifest_path
str
name
str
profile_evidence
str
rollout_driver
str | None = None
synchronized_fields
tuple[str, ...] = ()
version
str
warnings
tuple[str, ...] = ()
nemo_gym.environment.validation.EnvironmentValidationReport.to_dict() -> dict[str, typing.Any]
class nemo_gym.environment.validation.ResolvedComponent(
role: str,
name: str,
implementation: str,
boundary: str,
entrypoint: str | None = None
)
Dataclass
boundary
str
entrypoint
str | None = None
implementation
str
name
str
role
str
class nemo_gym.environment.validation.ResolvedComposition(
resources_server: str | None,
agent_server: str | None,
model_server: str | None,
rollout_driver: str | None,
grading_mode: str | None,
)
Dataclass
agent_server
str | None
components
tuple[ResolvedComponent, ...]
datasets
tuple[ManifestDataset, ...]
grading_mode
str | None
model_server
str | None
resources_server
str | None
rollout_driver
str | None
class nemo_gym.environment.validation._ConfigWiring(
resolved: omegaconf.DictConfig,
by_instance: dict[str, typing.Any],
selected_agent: typing.Any,
dataset_rs: typing.Any | None,
resources_instance: typing.Any | None,
model_server: str | None
)
Dataclass

The servers a workload config wires around its dataset-bearing agent.

by_instance
dict[str, Any]
dataset_rs
Any | None
model_server
str | None
resolved
DictConfig
resources_instance
Any | None
class nemo_gym.environment.validation._ServerLookupParser()

Bases: GlobalConfigDictParser

Reject partially valid server configs before the parser prints its almost-server banner.

Catalog lookup remains strict even with error_on_almost_servers: false: its caller falls back to raw names rather than selecting from only the valid blocks. Other parser warnings and metadata fallback are unaffected.

nemo_gym.environment.validation._ServerLookupParser.detect_and_report_almost_servers(
global_config_dict: omegaconf.DictConfig
) -> list[tuple[str, pydantic.ValidationError]]
nemo_gym.environment.validation._base_name(
base: ast.expr
) -> str | None
nemo_gym.environment.validation._catalog_directory(
path: pathlib.Path
) -> pathlib.Path | None
nemo_gym.environment.validation._catalog_resources_server(
) -> str | None

The resources binding selected by all dataset routes, or unknown when they do not identify one instance.

nemo_gym.environment.validation._component_root(
config_path: pathlib.Path
) -> pathlib.Path | None
nemo_gym.environment.validation._contains_not_implemented_raise(
method: ast.FunctionDef | ast.AsyncFunctionDef
) -> bool
nemo_gym.environment.validation._implementation_name(
server: typing.Any
) -> str
nemo_gym.environment.validation._infer_profile(
) -> tuple[str, str]
nemo_gym.environment.validation._iter_dataset_rows(
path: pathlib.Path
) -> collections.abc.Iterator[tuple[int, dict[str, typing.Any]]]
nemo_gym.environment.validation._json_value(
value: typing.Any
) -> typing.Any
nemo_gym.environment.validation._manifest_dataset(
dataset: typing.Any
nemo_gym.environment.validation._mirror_differences(
) -> dict[str, typing.Any]
nemo_gym.environment.validation._mirror_values(
) -> dict[str, typing.Any]
nemo_gym.environment.validation._only_delegates_to_super(
method: ast.FunctionDef | ast.AsyncFunctionDef
) -> bool
nemo_gym.environment.validation._only_raises_not_implemented(
method: ast.FunctionDef | ast.AsyncFunctionDef
) -> bool
nemo_gym.environment.validation._parse_python_file(
path: pathlib.Path,
label: str
) -> ast.Module
nemo_gym.environment.validation._profile_warnings(
declared: str,
inferred: str,
evidence: str
) -> tuple[str, ...]
nemo_gym.environment.validation._render_value(
value: typing.Any
) -> str
nemo_gym.environment.validation._resolve_config_wiring(
config_path: pathlib.Path,
dataset_owner: str | None = None,

Resolve which servers a workload config wires, without probing or materializing runtime services.

nemo_gym.environment.validation._resolve_dataset_owner_agent(
resolved: omegaconf.DictConfig,
owner_instance_name: str
) -> str

The agent rollout dispatch routes owner_instance_name’s datasets to (validation-time check).

nemo_gym.environment.validation._resolve_manifest_composition(
config_path: pathlib.Path,
dataset_owner: str | None = None

Resolve manifest wiring, with datasets in manifest form, without probing or materializing runtime services.

nemo_gym.environment.validation._select_dataset_agent(
agents: list[typing.Any]
) -> typing.Any
nemo_gym.environment.validation._server_class(
tree: ast.Module
) -> ast.ClassDef | None
nemo_gym.environment.validation._validate_benchmark_prompt_contract(
) -> None
nemo_gym.environment.validation._validate_dataset(
standard_prompt_config: str | None,
prompt_source: str = 'template'
nemo_gym.environment.validation._validate_manifest_location(
manifest_path: pathlib.Path,
) -> None
nemo_gym.environment.validation._validate_prepare_script(
path: pathlib.Path
) -> None
nemo_gym.environment.validation._validate_rollout_driver(
reference: str
) -> None
nemo_gym.environment.validation._with_component_root(
config_path: pathlib.Path
)
nemo_gym.environment.validation._write_manifest_atomically(
path: pathlib.Path,
) -> None
nemo_gym.environment.validation.resolve_config_servers(
config_path: pathlib.Path
) -> tuple[str | None, str | None] | None

The resources server and agent selected by a workload config’s runtime routes.

Wiring resolution still needs an unambiguous dataset owner and agent, but skips manifest-only dataset checks such as requiring a benchmark preparation script. Returns None when the config does not resolve on its own: for example, it needs runtime-only values or contains invalid server blocks, even with error_on_almost_servers: false. Parser compatibility warnings can still go to stderr, and the caller’s metadata fallback may emit its own diagnostics. A resolved config with ambiguous or differing resources routes returns (None, agent) so the catalog does not guess from raw names.

nemo_gym.environment.validation.validate_environment(
manifest_path: str | pathlib.Path,
config_path: str | pathlib.Path | None = None,
sync: bool = False,
validate_datasets: bool = True

Validate a manifest without probing services or runtime output paths.

Component CI may disable dataset checks to exercise committed verifier fixtures without downloading a workload’s full benchmark or training dataset.

nemo_gym.environment.validation.logger = logging.getLogger(__name__)