build(evaluator): install nemo-fabric 0.3.0 instead of the 0.3.0b1 prerelease - #2262
Conversation
…erelease The repo's dependency constraints already resolve nemo-fabric and its adapters at the stable 0.3.0 (uv.lock, PyPI 2026-09-15). The Harbor agents carry a separate pin: fabric_package is the requirement string they uv pip install *inside the task container*, and it was still naming 0.3.0b1. Point it at 0.3.0 so a containerized run matches what the host resolves. Also restate the Alpine caveat in the FabricInstalledAgent docstring in terms of the 0.3.0 release, whose nemo-fabric-runtime wheels are macOS arm64 and manylinux only, rather than citing the prerelease that was verified originally. Signed-off-by: Sandy Chapman <schapman@nvidia.com>
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository: NVIDIA-NeMo/nemo-platform/.coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (6)
Included review availability: Your plan provides up to 12 included reviews per hour; 11 remain after this review. 📝 WalkthroughWalkthroughAll Harbor Fabric package references changed from prerelease ChangesFabric version alignment
Suggested reviewers: Priority: ⬇️ Low Change: Bug fix Merge Risk: ⚪ Minimal · up to The change aligns Harbor Fabric installation pins with the stable 0.3.0 release; validation passed and no actionable merge-blocking risk remains. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 50.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 4 functions across 5 files. (1 skipped: 1 unsupported.)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
Comment |
|
Summary
The repo's
nemo-fabricdependency constraints (>=0.3.0,<0.4.0) anduv.lockalready resolve thestable 0.3.0, but the Harbor agents carry a second, independent pin:
fabric_packageis therequirement string they
uv pip installinside the task container, and it still named the0.3.0b1prerelease. Before this change a containerized Fabric run installed a prerelease that nolonger matched what the host resolved; after it, both are 0.3.0.
No dependency metadata or lock changes were needed — only the in-container install string and the
docs, examples, and tests that quote it.
Changes
harbor_fabric_installed_agent.py:fabric_packageexample in the module docstring and in thefabric_package is requirederror hint now name==0.3.0.docs/evaluator/agent-eval/harbor-fabric-agent.mdx: fourfabric_packagevalues updated.examples/harbor/fabric_agent/:DEFAULT_FABRIC_PACKAGEinrun_fabric_installed_example.pyandthe inline value in
run_fabric_deepagents_example.py.test_harbor_fabric_installed_agent.py,test_harbor_runtime_e2e.py: the package strings under test.FabricInstalledAgentdocstring. It previously read"verified against 0.3.0b1", which cannot honestly be renumbered to 0.3.0. It now states the fact
that still holds and was checked against the lock:
nemo-fabric-runtime0.3.0 publishes macOSarm64 and manylinux wheels only, so Alpine-based task images still fail at
uv pip install.Type of Change
Quality Gates
fabric_packagestring flowing through to the in-container install command, so they were updated in step with it and continue to cover the plumbing.Verification
Signed-off-by:traileruv run pre-commit run -apasses, or any blocked checks are identified belowTargeted validation:
All commands were run through
flox activate --dir .so that the repo-pinneduv0.10.10 is used;the host
uvis 0.9.30 and is rejected by the repo'srequires-uvfloor.uv run pre-commit run -aRun ty typechecks,Run uv lock with platform uv, andCheck for uv.lock driftuv run --frozen pytest packages/nemo_evaluator_sdk/tests/agent_eval/{test_harbor_fabric_installed_agent,test_harbor_runtime_e2e,test_harbor_runtime,test_fabric_image}.py plugins/nemo-evaluator/tests/test_agent_evaluate.py -qmake docs-checkfern check0 errors, 237 MDX files parsed cleanly, 7 NotebookViewer notebooks present, no gated-link regressionsmake docs-broken-linksgrep -rn '0\.3\.0b1' --exclude-dir=.git --exclude-dir=node_modules --exclude-dir=.venv .The four skipped tests are pre-existing environmental skips, not regressions: three are
--run-slowgated and one (
test_nemo_fabric_agent_runs_deepagents_on_nemotron_inside_harbor) needsNVIDIA_API_KEYfor build.nvidia.com. That last one is the only check that would exercise a realuv pip installofnemo-fabric[deepagents]==0.3.0inside a task container, so the new pin hasnot been installed live in this PR — that is the main reason this is a draft. The 0.3.0 wheels
themselves are confirmed present on PyPI via
uv.lock.Summary by CodeRabbit
Documentation
0.3.0b1to stable0.3.0across installation, SDK, persisted-configuration, and platform-job examples.0.3.0provides wheels for macOS arm64 and manylinux environments.Examples
0.3.0release, including DeepAgents support.Tests