Repository navigation
fix(harbor_agent): restore pathspec in the Harbor agent environment - #5732
Conversation
Harbor imports pathspec through dirhash and scantree, but the shared policy excludes it (#4193), so every Harbor rollout failed with ModuleNotFoundError. Re-enable it for this component the same way terminal_bench_4, miniswe_sandboxed_agent and harbor_agent_general do. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: MJ Mikulski <mmikulski@nvidia.com>
svcnvidia-nemo-ci
left a comment
There was a problem hiding this comment.
SHIP
LGTM — no concerns found. The dependency declaration, lockfile, and component-local exception are consistent. The regression test exercises the same import used by the runtime.
I reviewed all four changed files and the affected installation, policy-sync, and test-discovery paths. This was static review only; I couldn't execute dependency installation or tests.
Note: formal approval is not available for this request, so this review is posted as a comment only.
Review generated by codex. This was a full review. Request a full review with /review reset=true.
|
/ok to test af92b0b |
|
🌿 Preview your docs: https://nvidia-preview-pr-5732-af92b0bce04c.docs.buildwithfern.com/nemo/gym |
|
🔄 Merge queue validation started! You can track the progress here: https://github.com/NVIDIA-NeMo/Gym/actions/runs/42289914766 |
What does this PR do?
Restores
pathspecin theharbor_agentenvironment. Harbor imports it throughdirhash→scantree, but since #4193 the shared policy excludes it (pathspec; sys_platform == 'never'), sofrom harbor.job import JobraisesModuleNotFoundErrorand every Harbor rollout fails and scores 0.Fixes #4517
Supersedes #5040: that PR patches
requirements.txt/overrides.txt, which #4837 replaced with managedpyproject.toml+uv.lock. This PR applies the same intent in the current layout.It follows the existing per-component exception used by
terminal_bench_4,miniswe_sandboxed_agentandharbor_agent_general:pathspec==1.1.1independenciesand"pathspec"(instead of the never-marker) inoverride-dependencies;scripts/component-lock-policy.json;uv.lockregenerated (only the pathspec entries change).pathspecis MPL-2.0; this is the same license exception #4193 already granted to those components.Validation
uv sync --frozeninresponses_api_agents/harbor_agent, thenpython -c "from harbor.job import Job; import pathspec": OK (pathspec 1.1.1). Before this change the same import fails; we hit it on every rollout of a Harbor benchmark.responses_api_agents/harbor_agent/tests/test_dependencies.py(importsharbor.job.Job): passes.python scripts/component_locks.py: 270 projects checked, 0 failed.pre-commit runon the changed files: clean.Rollouts
N/A: dependency-only change, no agent or environment behaviour changes. The failure it fixes happens at import time, before any rollout starts.
Compatibility and benchmark impact
None, other than Harbor-based benchmarks running again instead of scoring 0.
Checklist