Repository navigation
chore: route PR reviews to owning teams via CODEOWNERS - #2439
Merged
Merged
Conversation
Encode the NeMo Gym code component ownership map so GitHub auto-requests the owning team on every PR instead of leaving review assignment to whoever notices. Core owns the contracts and substrate, Frontier Eval owns the implementations and evaluation outputs built on them, and anything unclaimed falls back to the advisors rather than to nobody. Signed-off-by: Anwith Kiran <anwithk@nvidia.com>
marta-sd
reviewed
Aug 10, 2026
| # ββ Tests ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | ||
| # Core library tests encode integration-test expectations for the Core contract. | ||
| # Per-server tests live under each server directory and inherit that server's owner. | ||
| /tests/ @NVIDIA-NeMo/gym_core |
Contributor
There was a problem hiding this comment.
This is in the co-owned section, but points to the core team. What was the intention?
ritaneves
reviewed
Aug 11, 2026
Move /tests/ out of the CO-OWNED section (Core-only intent), route docs/fern to docs_team with both lanes, and assign examples/scripts to project_managers so leads are distinct from tech-lead advisors. Signed-off-by: Anwith Kiran <anwithk@nvidia.com>
Docs surfaces were falling through the wildcard rule to gym_architects, which made tech-lead advisors the default reviewer for pages that leads edit routinely. Route docs/ and fern/ to docs_team (TME, per the ownership map) plus the new gym_leads team, and leave gym_architects as the backstop for genuinely unclaimed paths. Signed-off-by: Anwith Kiran <anwithk@nvidia.com>
Drop docs_team from docs/ and fern/ so all documentation routes to the leads team (EM/PM/TPM) alone. Signed-off-by: Anwith Kiran <anwithk@nvidia.com>
anwithk
marked this pull request as ready for review
August 11, 2026 17:23
ritaneves
added a commit
that referenced
this pull request
Aug 12, 2026
This reverts commit 24961cf. Signed-off-by: Rita Fernandes Neves <rfernandesne@nvidia.com>
ritaneves
added a commit
that referenced
this pull request
Aug 12, 2026
## Summary Reverts #2439 and restores the previous Automation-only CODEOWNERS file. The expanded component ownership map currently turns reviewer routing into mandatory path-specific approval gates. GitHub CODEOWNERS cannot represent the desired distinction between advisory component reviewers and a separate required approver group, so this reverts the enforcement change while that governance model is designed separately. ## Result CODEOWNERS returns to the four pre-#2439 rules: - `.github/` β Automation - `docker/` β Automation - `pyproject.toml` β Automation - `uv.lock` β Automation ## Validation - one revert commit on current `main` - only `.github/CODEOWNERS` changes - resulting file exactly matches the parent of the #2439 merge commit Signed-off-by: Rita Fernandes Neves <rfernandesne@nvidia.com>
5 tasks done
kajalj22
added a commit
that referenced
this pull request
Aug 21, 2026
Replace the two placeholder `# suggest:` lines with the full path-to-team mapping proposed in PR #2439 (not merged/enforced), tagged as advisory-only suggestions. Teams verified to exist via the GitHub API before adding. Signed-off-by: Kajal Jain <kajalj@nvidia.com>
kajalj22
added a commit
that referenced
this pull request
Sep 8, 2026
- Drop `# suggest: /nemo_gym/resources/` and `# suggest: /docs/` -- neither path exists in this repo (nemo_gym/ has no resources/ subdir; docs live under fern/, already covered by its own line, or nested under resources_servers/*/docs/, already covered by /resources_servers/). Both were dead rules that never matched anything, carried over from the unmerged #2439 proposal. - Bump the FW-CI-templates pin to the commit with the globstar- matching and null-review-crash fixes from PR review. Signed-off-by: Kajal Jain <kajalj@nvidia.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Encodes the NeMo Gym Code Component Ownership map in
.github/CODEOWNERSso GitHub auto-requests the owning team on every PR, instead of leaving review assignment to whoever happens to notice. Today the file only covers CI paths, so everything else lands with no owner.The split follows the doc's principle: Core owns the contracts and the substrate, Frontier Eval owns the implementations and the evaluation outputs built on top of them.
base_responses_api_agent.py(the interface) is Core while every harness underresponses_api_agents/is Frontier Eval;rollout_collection.py(the engine) is Core whilereward_profile.py(what consumes rollouts to make decisions) is Frontier Eval.Teams used, all confirmed to exist with write access to this repo (a team without write access is silently ignored by CODEOWNERS):
@NVIDIA-NeMo/gym_env_benchmarks@NVIDIA-NeMo/gym_core@NVIDIA-NeMo/gym_architects@NVIDIA-NeMo/automationMember lists are deliberately not duplicated into the file β GitHub team membership is the source of truth, maintained by each team's maintainers.
Open questions for reviewers
docs/andfern/are intentionally left unassigned in this PR, so they fall to thegym_architectsbackstop. The ownership table assigns docs to TME, but the callouts say both lanes should review. There is adocs_teamin the org with write access if we want to route there. This is the main thing to settle before this leaves draft.nemo_gymmodules postdate the doc: streaming dialects, the discovery/registry modules,orchestration/, and the rollout observability helpers went to Core as substrate;judge.py,skills.py, androllout_reverification.pywent to Frontier Eval as verification and evaluation-output surfaces.rollout_reverification.pyis the least obvious call β it is arollout_*sibling of the Core engine but it consumes rollouts to recompute rewards, which is the Frontier Eval side of the line.tests/goes to Core, since the core library tests encode integration expectations for the Core contract. Per-server tests live under each server directory and already inherit that server's owner.example_environments/from the doc is omitted because that directory does not exist in the repo.Test plan
responses_api_agents/simple_agent/app.pyto Frontier Eval,nemo_gym/sandbox/api.pyto Core,nemo_gym/config_types.pyto both lanes,responses_api_agents/verifiers_agent/app.pyto both lanes,.github/workflows/unit-tests.ymlto automation,README.mdto the architects backstop.Note that reviewer routing on this PR itself is governed by the CODEOWNERS on
main, not the version in this branch, so the new rules only take effect after merge.