Skip to content

[VDR][v0.6.0] DOC-d5e74f19 · manifest.yaml is the new required onboarding contract with no schema reference or example #2693

Description

@anwithk

Severity: 🟠 high | Category: Documentation | Finding ID: DOC-d5e74f19

Location: fern/versions/latest/pages/contribute/environments/new-environment.mdx:16

Problem

new-environment.mdx was rewritten since v0.5.0 around a manifest-first flow: ':16 Each newly onboarded environment or benchmark has a manifest.yaml'. EnvironmentManifest (nemo_gym/environment/manifest.py:185-224) declares 22 fields with extra="forbid", several required with non-obvious constraints (modality and description are required non-empty strings, authors is a unique non-empty list, licensing must be an SPDX expression or one of internal/proprietary/unknown, reward is a nested object). The page gives only a 4-row 'Field group / Authority' prose table — no sample YAML, no per-field types, no required/optional marking. find . -name manifest.yaml returns zero files in the repo (gym list benchmarks confirms 'manifests 0/283'), so there is no working example to copy either.

Suggested fix

Add a complete annotated manifest.yaml example to new-environment.mdx (the one gym env init --environment my_eval --profile custom-gym-verifier generates), plus a field-reference table with type, required/optional, and allowed values, generated from the EnvironmentManifest JSON Schema the page already says Gym can emit. Call out extra="forbid" so authors know unknown keys are hard errors.

Evidence

manifest.py:190 `extra="forbid"`, :205 `modality: NonEmptyString`, :207 `authors: list[...] = Field(min_length=1)`; `find . -name manifest.yaml -not -path './.git/*'` -> 0 results

Found by the doc-reviewer critic in DX review Gym-1-20260821203248 — incremental from v0.5.0 to fa0d25158. Parent tracker #2214.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status
    Label Sync

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions