Release Summary
The NeMo Gym 0.5.0 release expands the sandbox ecosystem to seven providers, adds four new general-purpose agent harnesses (Codex, KiloCode, RemoteAgent, and Any-SWE) bringing the total to 20, adds 21 new benchmarks and environments, and wires rollout observability end-to-end from the model server boundary through agent transcripts.
Highlights:
- Seven sandbox providers: Docker, Daytona, ECS Fargate, Enroot, and OpenShell join OpenSandbox and Apptainer; large-scale OpenSandbox reliability significantly improved
- Four new agent harnesses: Codex CLI, KiloCode, RemoteAgent, and
anyswe_agent - Recompute rewards from stored rollouts without re-running inference with
gym eval reverify - Rollout observability joined end-to-end: model-call capture, agent observations, and a standardized
ng_trajectoryschema - 21 new environments across six domains: Agentic, Knowledge and instruction following, Long context, Science and coding, Translation and multilingual, and Reasoning
First-Time Contributors
We welcomed 22 new contributors to NeMo Gym with this release:
- @mpatel31415 added
gym eval reverifycommand and--judge-failed-onlyflag for recovering failed judge rows - @Glorf added per-rollout model-call capture, Docker and ECS Fargate sandbox providers, rollout observation contract, Claude Code rollout observations, and standardized
ng_trajectoryschema - @nblintao added per-request policy endpoint override for the SWE agents, enabling RL training frameworks to route each episode through a per-episode recording proxy
- @JeffPengCoder brought OSWorld — a stateful desktop GUI benchmark — into the benchmark catalog
- @rystewart-nvidia added the Legal Agent Bench integration, exposing Harvey's 1,749-task LAB benchmark through standard Gym eval commands
- @fallintoplace fixed the long-standing disagreement between runtime aggregate metrics and the persisted
output.jsonl - @jonathanlli added RULER pretrain evaluation, enabling text-completion scoring for base and midtraining checkpoints
- @thompsonb overhauled WMT24++ and FLORES translation evaluation (55 locales, 219 language pairs, chrF/spBLEU scoring); expanded MMLU-ProX to 29 languages
- @hkumar92 added the PinchBench agentic benchmark
- @pachmu added ToolSandbox, IHEval, RoleMRC, and RAGTruth benchmarks
Thank you to all 57 NeMo Gym contributors this cycle, including 22 first-time contributors!
Command Line Interface
gym eval reverify— re-run only the verifier on stored rollouts;--judge-failed-onlyrecovers rows that failed due to a flaky judge without re-verifying successful rolloutsgym listandgym searchextended to cover models, resources-servers, and agents;gym list <type> <name>drills into a single artifact- External plugins discoverable via
--search-dirand environment variables;-v/--verbosenow accepted before any subcommand
Sandboxing
Five new built-in providers: Docker, Daytona, ECS Fargate, Enroot, and OpenShell join OpenSandbox and Apptainer. Provider choice is a one-line config swap — any agent built on nemo_gym.sandbox works with any provider unchanged.
OpenSandbox reliability at scale is significantly improved: keepalive-bounded transport eliminates silent rollout zeroing at concurrency 300–1500; image registry auth supports private container images; sandbox resources are automatically labeled with team, user, and workload identifiers.
See Available Sandbox Providers for the full list.
Configure Agent Harnesses
New harnesses join the existing set (Claude Code, Hermes, mini-SWE-Agent, OpenClaw, Pi, and more):
- Codex and KiloCode integrate
codex execandkilo runrespectively, routing model calls through Gym for per-rollout capture anyswe_agentruns any Gym harness inside a SWE task containerswe_agentsadds OpenCode as a supported agent framework alongside OpenHands, with DeepSWE and DeNovoSWE dataset support and message replay for trajectory branching- RemoteAgent drives any external service that implements
POST /v1/responses, with Gym owning the tool loop and verification
Configure Models
- vLLM can now drive
/v1/completionsfor base and pretrain checkpoint evaluation via opt-inuse_completions_api - All Gym model servers now accept
stream: trueon/v1/chat/completionsvia synthesized SSE, unblocking streaming-first clients such as OpenClaw and Codex - Add
expose_tools_over_mcp: trueto any resources server config to serve its tools over MCP with no handler code changes
Rollout Observability
- Per-rollout model-call capture records requests, responses, token usage, and latency at the model server boundary
- Claude Code transcripts populate
ng_agent_observations; agent observations and model-call capture are joined through a standardizedng_trajectoryschema - Judge failures are routed to a
_failures.jsonlsidecar, keeping aggregate metrics over successfully-judged rows only
New Benchmarks and Environments
21 new environments across six domains:
- Agentic: PinchBench (147 real-world tasks), OSWorld (desktop GUI with VM-backed evaluation), Legal Agent Bench (1,749 Harvey LAB tasks), ToolSandbox (Apple multi-turn tool-use), BrowseComp (web research), BioMNIBench DA, Tau3 banking (BM25+grep offline eval path)
- Knowledge and instruction following: SECQUE, FinanceBench, Finance SEC Search, IHEval (instruction hierarchy, rule-based), Litmus-Bench v0.1, RoleMRC (role-play MRC), RAGTruth (hallucination detection)
- Long context: NIAH (retrieval with overlap penalty)
- Science and coding: CVDP Agentic (expanded to support the agentic subset, harness-agnostic)
- Translation and multilingual: WMT24++ (expanded from 5 to 55 locales), FLORES (expanded from 30 to 219 language pairs, chrF/spBLEU scoring), MMLU-ProX (expanded to 29 languages); RULER now supports pretrain text-completion evaluation
- Reasoning: ReasoningGym environments — six agentic variants: Claude Code, Hermes, and four LangGraph-based variants (orchestrator, reflection, parallel thinking, and ReWOO)
See the Available Environments table for the full list.
Deprecation Notices
- WMT24++ and FLORES scores from prior versions are not comparable with this version's chrF/spBLEU output
- Python 3.13.14 is now required (previously 3.12); users running Gym in Python 3.12 environments must upgrade
Bug Fixes
- SciCode realigned to the AA 65-problem test set with per-rollout subtask accuracy reporting
- Fixed silent rollout zeros at high concurrency against OpenSandbox (keepalive-bounded transport)
- Fixed frozen rollouts in long-running benchmarks (TCP keepalive on global aiohttp connector)
- Fixed
gym eval runfailing withFileNotFoundErrorwhen the output directory did not exist - Fixed
tool_choicesent to vLLM withouttools, causing request rejection - Fixed Claude Code
max_turnshardcoded to 30;max_turns: nullnow removes the cap - Fixed Apptainer sandbox env vars injected into subprocess argv instead of environment
- Fixed MCQA answer parsing for wrapped formats (
$D$,(D),\boxed{\text{Answer: G}}) - Fixed aggregate metrics including non-persisted rollouts, causing disagreement with
output.jsonl
Documentation
- Rewrote the key terminology glossary with a Gym overview, component map, and links to how-to pages
- New page documenting the Anthropic Messages dialect (
POST /v1/messages) and wiring Claude Code through a Gym model server - Updated NeMo RL v0.7.0 compatibility guidance
- Migrated all remaining docs examples from legacy
ng_run/ng_collect_rolloutsto the unifiedgymCLI - Documented
gym listandgym searchextensions, external plugin discovery, and MCP auto-exposure - Added
gym eval reverifyand multi-reward verification contract documentation
Release Assets
Changelog Details
- fix: address CLI issues by @marta-sd :: PR: #1829
- fix: handle malformed yaml when loading extra configs by @marta-sd :: PR: #1854
- fix: print full table for
gym listand createcli/utils.pywith helpers by @marta-sd :: PR: #1858 - feat: [GDPval-AA v2 Updates 4 / n] - Re-Run Failed Tasks and Judgements Only by @vadam5 :: PR: #1846
- feat: [GDPval-AA v2 Updates 5 / n] - Multi-Judge Panel by @vadam5 :: PR: #1852
- fix: ERR-225d2c82 Fix HotpotQA dataset license value by @ritaneves :: PR: #1841
- fix: add 'all' extra, surface auth errors in quickstart (QS fixes) by @sephmard :: PR: #1840
- fix(tau3): update repo pin by @cmunley1 :: PR: #1875
- [codex] Add sandbox API docs guide by @hemildesai :: PR: #1717
- docs: add v0.4.0 release notes by @cwing-nvidia :: PR: #1879
- fix: Container guidance is inconsistent across v0.3.0 docs by @ffrujeri :: PR: #1827
- chore: update uv.lock by @kajalj22 :: PR: #1876
- docs: add v0.4.0 highlights to README News and trim archive by @cwing-nvidia :: PR: #1886
- fix(security): bump aiohttp >=3.14.1 and Pillow >=12.3.0 (CVE mitigations) by @kajalj22 :: PR: #1885
- docs: fix typos in README environment table source configs by @cwing-nvidia :: PR: #1892
- ci: use NVIDIA inference for Claude review by @chtruong814 :: PR: #1878
- [mini-swe-agent 2] Quickstart fix + gradeable example data & rollouts by @ananthsub :: PR: #1896
- feat: use all available domain info when listing benchmarks by @marta-sd :: PR: #1857
- feat(benchmarks): Add arguments to preparation script; configurable RULER by @prokotg :: PR: #1711
- docs(fern): add v0.4.0 version snapshot for GA release by @kajalj22 :: PR: #1913
- fix(mini_swe_agent_2): don't install agent deps into root venv (openai pin conflict) by @ananthsub :: PR: #1916
- release: bump main to 0.5.0rc0 for next dev cycle by @ananthsub :: PR: #1921
- ci: enable changelog builder in release workflow by @kajalj22 :: PR: #1923
- fix(stirrup): make persisted deliverables group/world-accessible by @agronskiy :: PR: #1907
- Add Tau3 banking BM25+grep evaluation configs by @jkyi-nvidia :: PR: #1918
- fix: allow Claude Code unlimited turns by @elisam0 :: PR: #1927
- feat(gdpval): resume multi-stage ELO from cache by @agronskiy :: PR: #1933
- fix: load all benchmarks
gym list/gym searchcommands by @marta-sd :: PR: #1902 - fixing longmt_eval bug introduced by #03d9d9b by @jeffwillette :: PR: #1941
- fix(scicode): run sub-steps in the resources server process, not a Ray worker by @laszkiewiczp :: PR: #1937
- feat(sandbox): ECS Fargate sandbox provider by @Glorf :: PR: #1645
- fix: loose accuracy in ifbench scorer by @e-dobrowolska :: PR: #1936
- Longmt thread safe by @thompsonb :: PR: #1961
- feat(sandbox): local Docker sandbox provider (#1695) by @Glorf :: PR: #1906
- feat: finance sec search environment by @cmunley1 :: PR: #1473
- Add complete SWE rollout timeline metrics by @youngeunkwon0405 :: PR: #1825
- fix: tau2 knowledge deps + repoint tau2-bench pins to stable branches by @e-dobrowolska :: PR: #1954
- SWE: Opencode Integration by @sdevare-nv :: PR: #1302
- Fix : opencode log on debug only by @sdevare-nv :: PR: #1982
- fix(mcqa): boxed answer extraction by @fsiino-nvidia :: PR: #1844
- [GDPVal] Align rubric judge max_tokens default with comparison mode by @Kh4L :: PR: #1234
- Add Daytona sandbox provider by @hemildesai :: PR: #1513
- Feature/biomnibench da harbor by @azkalot1 :: PR: #1897
- Chat completion to Response conversion function by @bxyu-nvidia :: PR: #1998
- fix(opencode_agent): configurable work dir by @cmunley1 :: PR: #1795
- fix(opensandbox): dont override request timeout with connection timeout by @cmunley1 :: PR: #1955
- feat (CritPt): improve AA scoring recovery and add key rotation by @martinagvilas :: PR: #1944
- feat: litmus_agent resources server (domain-agnostic answer verifier + sandbox code-exec tool) by @OliviaViessmann :: PR: #1911
- fix(litmus_agent): satisfy example data validation (follow-up to #1911) by @OliviaViessmann :: PR: #2008
- Browsecomp, baselined by @ritugala :: PR: #1848
- feat(ragtruth): add RAGTruth resources server for case-level hallucin… by @pachmu :: PR: #1947
- feat(rolemrc): add RoleMRC resources server for role-play MRC scoring by @pachmu :: PR: #1946
- openai_model: handle NVIDIA-hosted gpt-oss response quirks (hosted-MCP items + reasoning strip) by @OliviaViessmann :: PR: #1910
- fix: Harden metrics update function by @d-molinari :: PR: #2019
- Add PinchBench agentic benchmark integration by @hkumar92 :: PR: #1810
- fix: 5 example rows for new envs by @cmunley1 :: PR: #2025
- ci: run data validation pre-merge for changed servers by @kajalj22 :: PR: #2023
- feat(observability): add per-rollout model-call capture by @Glorf :: PR: #1715
- fix(server_utils): enable TCP keepalive on global aiohttp connector by @martinagvilas :: PR: #1959
- fix(responses_converter): omit tool_choice when request has no tools by @bg51717 :: PR: #1925
- docs: fix training tutorial links by @mehdiataei :: PR: #2012
- Add locale to target_lang_name in wmt24pp prepare.py by @thompsonb :: PR: #1980
- Align the finance agent loop and finance_sec_search resource server with the vals-ai by @ushnish-de :: PR: #2055
- Add output_regex parser path to litmus_agent by @OliviaViessmann :: PR: #2049
- fix: swe agents opencode file lock by @cmunley1 :: PR: #2021
- feat(gdpval) - Update Multistage ELO sampling Algo by @vadam5 :: PR: #1958
- docs(housekeeping): Add PR SLA tracker by @ritaneves :: PR: #2038
- fix(ci): allow SLA tracker to label pull requests by @ritaneves :: PR: #2066
- fix: observability feature in tau2 harness by @e-dobrowolska :: PR: #2051
- feat(scicode): per-rollout subtask_accuracy + across-run std of both headline metrics by @laszkiewiczp :: PR: #2070
- feat: Add Legal Agent Bench resource server by @rystewart-nvidia :: PR: #1976
- Updates for supporting CVDP Agentic subset by @arti4nvj :: PR: #1744
- feat: Migrate agent skills to a shared canonical directory. by @ffrujeri :: PR: #2007
- fix(scicode): align evaluation with AA setup by @jubick1337 :: PR: #2073
- Add long-context NIAH environment to teach retrieval without scanning by @hsiehjackson :: PR: #1977
- feat: Add Legal Agent Bench to the benchmark catalog by @rystewart-nvidia :: PR: #2075
- Fix the cache path for sec.gov URLs by @ushnish-de :: PR: #2097
- refactor: use framework BaseVerifyResponse in example_session_state_mgmt by @ananthsub :: PR: #1869
- fix(openclaw_agent): pin openclaw_version default for reproducibility by @j-nolan :: PR: #2004
- feat: accept opaque string envelopes for routed_experts by @zyzhou5 :: PR: #2089
- MCP auto-exposure: single module + opt-in flag by @adil-a :: PR: #2059
- feat: enable external plugins for all CLI commands by @marta-sd :: PR: #2061
- feat: extend
gym listandgym searchcommands by @marta-sd :: PR: #2062 - feat: add
gym list <type> <name>for inspecting by @marta-sd :: PR: #2063 - docs: document extensions to
gym listandgym searchby @marta-sd :: PR: #2064 - fix(omniscience): preserve answers without reasoning tags by @martinagvilas :: PR: #2105
- feat: Add AnyTerminal sandbox support by @elisam0 :: PR: #1988
- feat: Implement Gym agent server for Codex CLI agent harness. by @ffrujeri :: PR: #2095
- align MMLU-Pro prompt formatting with NeMo Skills by @gchlebus :: PR: #1853
- Align aggregate metrics with persisted rollouts by @fallintoplace :: PR: #1799
- Updating IFEval to keep verifier information in verifier_metadata field by @arti4nvj :: PR: #2102
- fix: improve MCQA answer parsing by @ka00ri :: PR: #1945
- feat: add Litmus-Bench v0.1 benchmark by @danecor :: PR: #2107
- fix(vllm): handle null request metadata by @macandro96 :: PR: #2139
- feat: reasoning gym agentic environments by @cmunley1 :: PR: #1463
- IHEval — instruction-hierarchy benchmark integration by @pachmu :: PR: #2068
- trial tau 2 turncount limit by @jkyi-nvidia :: PR: #1236
- Sbatch scripts for Super 3.5 evals by @bxyu-nvidia :: PR: #1991
- Rfneves/clean up front page by @ritaneves :: PR: #2152
- feat: accept stream:true on /v1/chat/completions via synthesized SSE by @ananthsub :: PR: #2130
- feat: observability feature for gdpval benchmark by @e-dobrowolska :: PR: #2134
- Add workplace-claude demo notebook and config by @arti4nvj :: PR: #2101
- [rollout-observability][1/7] Define the rollout observation and correlation contract by @Glorf :: PR: #2114
- feat(opensandbox): enable image registry auth by @cmunley1 :: PR: #1956
- ci: bump claude review workflow to FW-CI-templates v1.8.4 by @kajalj22 :: PR: #2167
- docs: fix published internal links by @ritaneves :: PR: #2164
- [rollout-observability][2/7] Add Claude Code rollout observations by @Glorf :: PR: #2153
- feat(vllm_model): support driving vLLM /v1/completions by @gwarmstrong :: PR: #1300
- feat: add BaseMultiRewardVerifyResponse for shared multi-reward contract by @init-nikhil :: PR: #2050
- Mpatelka/rerun judge failures with reverify by @mpatel31415 :: PR: #2156
- Feat: add enroot backend by @oyilmaz-nvidia :: PR: #1952
- feat(toolsandbox): add ToolSandbox multi-turn tool-use benchmark by @pachmu :: PR: #1949
- feat(eval): add gym eval reverify to recompute rewards from stored ro… by @mpatel31415 :: PR: #2078
- feat(ruler): add pretrain text-completion evaluation by @jonathanlli :: PR: #2157
- feat: add SECQUE and FinanceBench benchmarks, remove duplicate finance_sec_search environment by @ushnish-de :: PR: #2158
- security: bump vulnerable dependencies by @kajalj22 :: PR: #2195
- feat(sandbox): add OpenShell sandbox provider by @hemildesai :: PR: #2013
- feat(agents): add ModelServerRef support to CLI agents by @cmunley1 :: PR: #2047
- chore(ci): AUT-1178 pin GitHub Actions to commit SHAs by @svcnemo-autobot :: PR: #2205
- feat: swe with any harness by @cmunley1 :: PR: #2011
- fix: tolerate null metadata values and messages by @tdene :: PR: #2171
- feat: add KiloCode agent harness for evaluation by @ananthsub :: PR: #2112
- feat(agents): RemoteAgent, thin proxy server for user-hosted remote agent services by @adil-a :: PR: #2163
- feat: unified judge failure handling by @e-dobrowolska :: PR: #2113
- feat(sandbox): add ConnectableProvider capability and serialize/connect facade by @ananthsub :: PR: #2083
- feat(sandbox): implement ConnectableProvider for the OpenSandbox provider by @ananthsub :: PR: #2084
- security(stirrup_agent): bump Pillow to 12.3.0 via uv override by @kajalj22 :: PR: #2196
- feat(pinchbench): add the benchmark config for the full 147-task suite (2259)
+fix(apptainer): keep sandbox env out of argv (2284) by @svcnvidia-nemo-ci :: PR: #2283 - security: bump nltk >=3.10.0 and fix inisec import blocks (2290) by @svcnvidia-nemo-ci :: PR: #2291
- docs: move CI checks reference into CONTRIBUTING.md (2024) by @svcnvidia-nemo-ci :: PR: #2309
- feat: support kilocode model calls through a Gym model server (2319) by @svcnvidia-nemo-ci :: PR: #2326
- fix(stirrup): cap stirrup<0.2 on r0.5.0 release branch by @kajalj22 :: PR: #2327
- cp: fix(tau2): exclude review_model from snapshot comparison into r0.5.0 by @kajalj22 :: PR: #2337
- security: bump mlflow to 3.15.1 (2298) by @svcnvidia-nemo-ci :: PR: #2320
- docs(swe_agents): replace leftover ng_viewer with jq (2306) by @svcnvidia-nemo-ci :: PR: #2330
- feat: add standalone Gym Docker container (2161) by @svcnvidia-nemo-ci :: PR: #2334
- fix(cli): accept -v/--verbose before the subcommand; stop suggesting a flag as its own correction (2303) by @svcnvidia-nemo-ci :: PR: #2335
- fix(cli): report cleanly unresolved config interpolations; fix the env resolve docs example (2310) by @svcnvidia-nemo-ci :: PR: #2336
- cp: bump Python 3.12 → 3.13.14 (#2194) into r0.5.0 by @kajalj22 :: PR: #2343
- docs: make Nemotron 3 Nano storage requirements consistent (2315) by @svcnvidia-nemo-ci :: PR: #2357
- docs: link Add a Benchmark by path instead of absolute URL (2316) by @svcnvidia-nemo-ci :: PR: #2358
- fix(cli): uniform name key, model usage examples, and parseable --json output (2305) by @svcnvidia-nemo-ci :: PR: #2360
- security: bump vllm 0.20.0 → 0.24.0 and GitPython for CVE remediation (2353) by @svcnvidia-nemo-ci :: PR: #2367
- docs: correct Workplace Assistant tool and database counts (2314) by @svcnvidia-nemo-ci :: PR: #2371
- docs(fern): add v0.5.0 version snapshot for GA release (2389) by @kajalj22 :: PR: #2391
- feat(cli): check model endpoints before starting a run (2362) by @svcnvidia-nemo-ci :: PR: #2381
- refactor(remote_agent): single-pass unpaired-call guard (2321) by @svcnvidia-nemo-ci :: PR: #2322
- fix(docs): remove absolute internal URL from 0.5.0 release notes (2397) by @svcnvidia-nemo-ci :: PR: #2398
- fix: address CLI issues (#1829) by @marta-sd
- fix: handle malformed yaml when loading extra configs (#1854) by @marta-sd
- fix: print full table for
gym listand createcli/utils.pywith helpers (#1858) by @marta-sd - feat: [GDPval-AA v2 Updates 4 / n] - Re-Run Failed Tasks and Judgements Only (#1846) by @vadam5
- feat: [GDPval-AA v2 Updates 5 / n] - Multi-Judge Panel (#1852) by @vadam5
- fix: ERR-225d2c82 Fix HotpotQA dataset license value (#1841) by @ritaneves
- fix: add 'all' extra, surface auth errors in quickstart (QS fixes) (#1840) by @sephmard
- fix(tau3): update repo pin (#1875) by @cmunley1
- [codex] Add sandbox API docs guide (#1717) by @hemildesai
- docs: add v0.4.0 release notes (#1879) by @cwing-nvidia
- fix: Container guidance is inconsistent across v0.3.0 docs (#1827) by @ffrujeri
- chore: update uv.lock (#1876) by @kajalj22
- docs: add v0.4.0 highlights to README News and trim archive (#1886) by @cwing-nvidia
- fix(security): bump aiohttp >=3.14.1 and Pillow >=12.3.0 (CVE mitigations) (#1885) by @kajalj22
- docs: fix typos in README environment table source configs (#1892) by @cwing-nvidia
- ci: use NVIDIA inference for Claude review (#1878) by @chtruong814
- [mini-swe-agent 2] Quickstart fix + gradeable example data & rollouts (#1896) by @ananthsub
- feat: use all available domain info when listing benchmarks (#1857) by @marta-sd
- feat(benchmarks): Add arguments to preparation script; configurable RULER (#1711) by @prokotg
- docs(fern): add v0.4.0 version snapshot for GA release (#1913) by @kajalj22
- fix(mini_swe_agent_2): don't install agent deps into root venv (openai pin conflict) (#1916) by @ananthsub
- release: bump main to 0.5.0rc0 for next dev cycle (#1921) by @ananthsub
- ci: enable changelog builder in release workflow (#1923) by @kajalj22
- fix(stirrup): make persisted deliverables group/world-accessible (#1907) by @agronskiy
- Add Tau3 banking BM25+grep evaluation configs (#1918) by @jkyi-nvidia
- fix: allow Claude Code unlimited turns (#1927) by @elisam0
- feat(gdpval): resume multi-stage ELO from cache (#1933) by @agronskiy
- fix: load all benchmarks
gym list/gym searchcommands (#1902) by @marta-sd - fixing longmt_eval bug introduced by #03d9d9b (#1941) by @jeffwillette
- fix(scicode): run sub-steps in the resources server process, not a Ray worker (#1937) by @laszkiewiczp
- feat(sandbox): ECS Fargate sandbox provider (#1645) by @Glorf
- fix: loose accuracy in ifbench scorer (#1936) by @e-dobrowolska
- Longmt thread safe (#1961) by @thompsonb
- feat(sandbox): local Docker sandbox provider (#1695) (#1906) by @Glorf
- feat: finance sec search environment (#1473) by @cmunley1
- Add complete SWE rollout timeline metrics (#1825) by @youngeunkwon0405
- fix: tau2 knowledge deps + repoint tau2-bench pins to stable branches (#1954) by @e-dobrowolska
- SWE: Opencode Integration (#1302) by @sdevare-nv
- Fix : opencode log on debug only (#1982) by @sdevare-nv
- fix(mcqa): boxed answer extraction (#1844) by @fsiino-nvidia
- [GDPVal] Align rubric judge max_tokens default with comparison mode (#1234) by @Kh4L
- Add Daytona sandbox provider (#1513) by @hemildesai
- Feature/biomnibench da harbor (#1897) by @azkalot1
- Chat completion to Response conversion function (#1998) by @bxyu-nvidia
- fix(opencode_agent): configurable work dir (#1795) by @cmunley1
- fix(opensandbox): dont override request timeout with connection timeout (#1955) by @cmunley1
- feat (CritPt): improve AA scoring recovery and add key rotation (#1944) by @martinagvilas
- feat: litmus_agent resources server (domain-agnostic answer verifier + sandbox code-exec tool) (#1911) by @OliviaViessmann
- fix(litmus_agent): satisfy example data validation (follow-up to #1911) (#2008) by @OliviaViessmann
- Browsecomp, baselined (#1848) by @ritugala
- feat(ragtruth): add RAGTruth resources server for case-level hallucin… (#1947) by @pachmu
- feat(rolemrc): add RoleMRC resources server for role-play MRC scoring (#1946) by @pachmu
- openai_model: handle NVIDIA-hosted gpt-oss response quirks (hosted-MCP items + reasoning strip) (#1910) by @OliviaViessmann
- fix: Harden metrics update function (#2019) by @d-molinari
- Add PinchBench agentic benchmark integration (#1810) by @hkumar92
- fix: 5 example rows for new envs (#2025) by @cmunley1
- ci: run data validation pre-merge for changed servers (#2023) by @kajalj22
- feat(observability): add per-rollout model-call capture (#1715) by @Glorf
- fix(server_utils): enable TCP keepalive on global aiohttp connector (#1959) by @martinagvilas
- fix(responses_converter): omit tool_choice when request has no tools (#1925) by @bg51717
- docs: fix training tutorial links (#2012) by @mehdiataei
- Add locale to target_lang_name in wmt24pp prepare.py (#1980) by @thompsonb
- Align the finance agent loop and finance_sec_search resource server with the vals-ai (#2055) by @ushnish-de
- Add output_regex parser path to litmus_agent (#2049) by @OliviaViessmann
- fix: swe agents opencode file lock (#2021) by @cmunley1
- feat(gdpval) - Update Multistage ELO sampling Algo (#1958) by @vadam5
- docs(housekeeping): Add PR SLA tracker (#2038) by @ritaneves
- fix(ci): allow SLA tracker to label pull requests (#2066) by @ritaneves
- fix: observability feature in tau2 harness (#2051) by @e-dobrowolska
- feat(scicode): per-rollout subtask_accuracy + across-run std of both headline metrics (#2070) by @laszkiewiczp
- feat: Add Legal Agent Bench resource server (#1976) by @rystewart-nvidia
- Updates for supporting CVDP Agentic subset (#1744) by @arti4nvj
- feat: Migrate agent skills to a shared canonical directory. (#2007) by @ffrujeri
- fix(scicode): align evaluation with AA setup (#2073) by @jubick1337
- Add long-context NIAH environment to teach retrieval without scanning (#1977) by @hsiehjackson
- feat: Add Legal Agent Bench to the benchmark catalog (#2075) by @rystewart-nvidia
- Fix the cache path for sec.gov URLs (#2097) by @ushnish-de
- refactor: use framework BaseVerifyResponse in example_session_state_mgmt (#1869) by @ananthsub
- fix(openclaw_agent): pin openclaw_version default for reproducibility (#2004) by @j-nolan
- feat: accept opaque string envelopes for routed_experts (#2089) by @zyzhou5
- MCP auto-exposure: single module + opt-in flag (#2059) by @adil-a
- feat: enable external plugins for all CLI commands (#2061) by @marta-sd
- feat: extend
gym listandgym searchcommands (#2062) by @marta-sd - feat: add
gym list <type> <name>for inspecting (#2063) by @marta-sd - docs: document extensions to
gym listandgym search(#2064) by @lbliii - fix(omniscience): preserve answers without reasoning tags (#2105) by @martinagvilas
- feat: Add AnyTerminal sandbox support (#1988) by @elisam0
- feat: Implement Gym agent server for Codex CLI agent harness. (#2095) by @ffrujeri
- align MMLU-Pro prompt formatting with NeMo Skills (#1853) by @gchlebus
- Align aggregate metrics with persisted rollouts (#1799) by @fallintoplace
- Updating IFEval to keep verifier information in verifier_metadata field (#2102) by @arti4nvj
- fix: improve MCQA answer parsing (#1945) by @ka00ri
- feat: add Litmus-Bench v0.1 benchmark (#2107) by @danecor
- fix(vllm): handle null request metadata (#2139) by @macandro96
- feat: reasoning gym agentic environments (#1463) by @cmunley1
- IHEval — instruction-hierarchy benchmark integration (#2068) by @pachmu
- trial tau 2 turncount limit (#1236) by @jkyi-nvidia
- Sbatch scripts for Super 3.5 evals (#1991) by @bxyu-nvidia
- Rfneves/clean up front page (#2152) by @ritaneves
- feat: accept stream:true on /v1/chat/completions via synthesized SSE (#2130) by @ananthsub
- feat: observability feature for gdpval benchmark (#2134) by @e-dobrowolska
- Add workplace-claude demo notebook and config (#2101) by @arti4nvj
- [rollout-observability][1/7] Define the rollout observation and correlation contract (#2114) by @Glorf
- feat(opensandbox): enable image registry auth (#1956) by @cmunley1
- ci: bump claude review workflow to FW-CI-templates v1.8.4 (#2167) by @kajalj22
- docs: fix published internal links (#2164) by @ritaneves
- [rollout-observability][2/7] Add Claude Code rollout observations (#2153) by @Glorf
- feat(vllm_model): support driving vLLM /v1/completions (#1300) by @gwarmstrong
- feat: add BaseMultiRewardVerifyResponse for shared multi-reward contract (#2050) by @init-nikhil
- Mpatelka/rerun judge failures with reverify (#2156) by @mpatel31415
- Feat: add enroot backend (#1952) by @oyilmaz-nvidia
- feat(toolsandbox): add ToolSandbox multi-turn tool-use benchmark (#1949) by @pachmu
- feat(eval): add gym eval reverify to recompute rewards from stored ro… (#2078) by @mpatel31415
- feat(ruler): add pretrain text-completion evaluation (#2157) by @jonathanlli
- feat: add SECQUE and FinanceBench benchmarks, remove duplicate finance_sec_search environment (#2158) by @ushnish-de
- security: bump vulnerable dependencies (#2195) by @kajalj22
- feat(sandbox): add OpenShell sandbox provider (#2013) by @hemildesai
- feat(agents): add ModelServerRef support to CLI agents (#2047) by @bxyu-nvidia
- chore(ci): AUT-1178 pin GitHub Actions to commit SHAs (#2205) by @svcnemo-autobot
- feat: swe with any harness (#2011) by @cmunley1
- fix: tolerate null metadata values and messages (#2171) by @tdene
- feat: add KiloCode agent harness for evaluation (#2112) by @ananthsub
- feat(agents): RemoteAgent, thin proxy server for user-hosted remote agent services (#2163) by @adil-a
- feat: unified judge failure handling (#2113) by @e-dobrowolska
- feat(sandbox): add ConnectableProvider capability and serialize/connect facade (#2083) by @ananthsub
- feat(sandbox): implement ConnectableProvider for the OpenSandbox provider (#2084) by @ananthsub
- security(stirrup_agent): bump Pillow to 12.3.0 via uv override (#2196) by @kajalj22
- feat(pinchbench): add the benchmark config for the full 147-task suite (2259)
+fix(apptainer): keep sandbox env out of argv (2284) (#2283) by @svcnvidia-nemo-ci - security: bump nltk >=3.10.0 and fix inisec import blocks (2290) (#2291) by @svcnvidia-nemo-ci
- docs: move CI checks reference into CONTRIBUTING.md (2024) (#2309) by @svcnvidia-nemo-ci
- feat: support kilocode model calls through a Gym model server (2319) (#2326) by @svcnvidia-nemo-ci
- fix(stirrup): cap stirrup<0.2 on r0.5.0 release branch (#2327) by @kajalj22
- cp: fix(tau2): exclude review_model from snapshot comparison into r0.5.0 (#2337) by @kajalj22
- security: bump mlflow to 3.15.1 (2298) (#2320) by @svcnvidia-nemo-ci
- docs(swe_agents): replace leftover ng_viewer with jq (2306) (#2330) by @svcnvidia-nemo-ci
- feat: add standalone Gym Docker container (2161) (#2334) by @svcnvidia-nemo-ci
- fix(cli): accept -v/--verbose before the subcommand; stop suggesting a flag as its own correction (2303) (#2335) by @svcnvidia-nemo-ci
- fix(cli): report cleanly unresolved config interpolations; fix the env resolve docs example (2310) (#2336) by @svcnvidia-nemo-ci
- cp: bump Python 3.12 → 3.13.14 (#2194) into r0.5.0 (#2343) by @kajalj22
- docs: make Nemotron 3 Nano storage requirements consistent (2315) (#2357) by @svcnvidia-nemo-ci
- docs: link Add a Benchmark by path instead of absolute URL (2316) (#2358) by @svcnvidia-nemo-ci
- fix(cli): uniform name key, model usage examples, and parseable --json output (2305) (#2360) by @svcnvidia-nemo-ci
- security: bump vllm 0.20.0 → 0.24.0 and GitPython for CVE remediation (2353) (#2367) by @svcnvidia-nemo-ci
- docs: correct Workplace Assistant tool and database counts (2314) (#2371) by @svcnvidia-nemo-ci
- docs(fern): add v0.5.0 version snapshot for GA release (2389) (#2391) by @kajalj22
- feat(cli): check model endpoints before starting a run (2362) (#2381) by @svcnvidia-nemo-ci
- refactor(remote_agent): single-pass unpaired-call guard (2321) (#2322) by @svcnvidia-nemo-ci
- fix(docs): remove absolute internal URL from 0.5.0 release notes (2397) (#2398) by @svcnvidia-nemo-ci