Skip to content

v0.6.0

Choose a tag to compare

@nemo-automation-bot nemo-automation-bot released this 09 Sep 00:01
3045a79

Release Summary

NeMo Gym v0.6.0 lets you use external agent harnesses during RL training and adds Switchyard for evaluating model-routing strategies.

Highlights:

  • Use supported external agent harnesses during RL training; NeMo Gym preserves each model call's token IDs and reconstructs the multi-step run as one training response
  • Run routing-aware evaluations with Switchyard by comparing fixed and routed conditions on the same benchmark
  • Trust and debug rollouts with automatic health checks, end-to-end traces, and per-agent token, turn, tool-call, and latency diagnostics
  • Evaluate and compare multiple agents and datasets in one run, with task-level routing to the appropriate harness
  • Submit eval jobs to a Slurm cluster directly from NeMo Gym, scaling vLLM across GPUs or nodes for higher rollout concurrency

First-Time Contributors

We welcomed 19 new contributors to NeMo Gym with this release:

  • @giuliolovisotto added automatic rollout health checks and documented how to diagnose rollout quality
  • @mlazuka added per-rollout and per-run aggregate observability metrics
  • @imxj added the LiteLLM model server
  • @max-sudolabs added the E2B sandbox provider
  • @aroshanghias-nvd added a simple agent with configurable context-compaction policies
  • @ehosseiniasl added video input support to the vLLM model server
  • @adv-andrew added the synthetic OpenAir 5G congestion-control environment
  • @knayaka added the Citation IF instruction-following benchmark
  • @nickson-quak added a social-bias evaluation environment that separately scores answer correctness and whether explanations rely on stereotypes
  • @gnalbandyan added the multimodal HLE vision benchmark
  • @michal2409 improved OpenHands reliability and generation-limit handling for SWE agents

Thank you to all 64 NeMo Gym contributors this cycle, including 19 first-time contributors!

Configure Tasks and Data

  • Resources servers can declare their datasets, and gym dataset collate records each row's task_source so NeMo Gym can select the correct agent at run time
  • Use agent_map to reroute selected tasks or fan-out to run the same tasks with multiple agents; invalid agent mappings fail before execution
  • Each resources server defines a typed task_data schema. Collation validates rows before a run, and gym env schema --resources-server <name> shows the expected data shape

Configure Agent Harnesses

  • Use --agent-type to swap a benchmark or environment's configured harness, with compatibility checks for unsupported pairings
  • OpenCode Sandboxed Agent runs OpenCode inside task-specific NeMo Gym sandboxes, with configurations for SWE-Bench Verified and Multilingual, DeepSWE, and Terminal-Bench 2.1
  • Cline Agent runs the Cline CLI headlessly and converts its tool-use trace into a NeMo Gym trajectory; this initial integration is evaluation-only
  • Conversational Tool Use workflow adds three agents that generate customer-service domains, policies, tools, and scenarios, plus a policy-loop agent and resources server that simulate and score multi-turn customer and tool interactions
  • OSWorld Agent runs OSWorld desktop tasks end to end, executes model-generated GUI actions, and returns NeMo Gym trajectories with OSWorld rewards
  • Prime Agent runs Prime Intellect's agent headlessly through NeMo Gym, with included math and Reasoning Gym environments
  • Simple Strands Agent wraps the Simple Strands Resolver agent with configurable local tools; included environments cover math and Reasoning Gym
  • Terminus-2 Agent runs Harbor's terminal-command agent through NeMo Gym, with AnyTerminal integration and support for other terminal-compatible resources servers
  • Simple Agent with Compaction applies configurable history policies before each model call, including policies that omit older image observations or reasoning blocks
  • Image Tools Agent lets models iteratively transform and inspect images, scores their image-tool calls, and delegates final-answer verification to the mapped environment
  • Verified Code QA (VCQA) Agent gives models read-only repository snapshots or Git histories to investigate with file, search, and shell tools, then scores answers against a rubric with an LLM judge
  • OpenClaw with AnyTerminal runs the evaluation-only OpenClaw harness inside Terminal Bench task containers and scores each run with the task's tests

Configure Models

  • LiteLLM Model connects NeMo Gym to providers supported by LiteLLM
  • Switchyard Model compares model-routing strategies on the same benchmark and records the route and configuration used for reproducible results
  • The vLLM model server now supports video inputs
  • Use sampling_overrides to enforce generation settings when external agent harnesses omit them, preserving on-policy training behavior
  • Use endpoint_file to update a vLLM backend address without restarting NeMo Gym, with bounded connection retries during endpoint rotation

Rollout Observability and Export

  • Export configs, metrics, and rollouts through a shared exporter framework. MLflow is new; W&B uses the same path
  • Automatic rollout health checks flag missing turns, inconsistent model calls, token-count mismatches, and runaway generation, with structured reports from evaluation and aggregation
  • NeMo Lens telemetry traces each rollout across NeMo Gym's agent, model, and resources servers, making latency and failures easier to diagnose
  • Rollout diagnostics report token usage, turns, tool calls, and latency, with agent-level traces for OpenClaw, Hermes, Pi, OpenCode, and SWE agents
  • Repeated-rollout metrics now include variability and 95% confidence intervals

Evaluation and Training

  • Compatible external agent harnesses can produce on-policy training data: NeMo Gym preserves exact token IDs across model calls and rebuilds each multi-step episode as one training response
  • Opt in to route_failures_to_sidecar to keep an evaluation running when agent calls fail; coverage reporting identifies excluded rollouts, and selected failure classes can instead count as zero
  • Trust eval artifacts: automatic health checks catch missing turns, broken model calls, and runaway generation; rollouts record tokens, turns, tool calls, and latency
  • Verifiers can return a human-readable failure_reason to explain unsuccessful rollouts

Sandboxing and Orchestration

  • E2B joins the built-in sandbox providers with template building, command execution, file operations, and lifecycle management
  • The OpenSandbox provider adds asynchronous interactive PTY sessions and detached PTY execution for long-running commands
  • OpenSandbox adds configurable network policy, run-scoped cleanup, bounded background-status polling, and an OpenSandbox backend for OSWorld
  • The Apptainer provider accepts a custom binary path
  • Experimental gym eval submit runs one or more vLLM instances on a Slurm node or distributes whole replicas across nodes, with configurable environment variables, container mounts, and outputs

Environments and Benchmarks

  • Software engineering and agentic workflows: Sandboxed OpenCode configurations for SWE-Bench Verified and Multilingual repository repair, DeepSWE software-engineering tasks, and Terminal-Bench 2.1 terminal tasks; Verified Code QA for repository investigation; OSWorld for desktop automation; and synthetic conversational tool use
  • Finance: Vals Finance Agent v2 for multi-step financial analysis and local full-text search over SEC filings
  • Long context, knowledge, and reasoning: LongMemEval for conversational memory, RULER v2 for long-context reasoning, SpartQA for spatial reasoning, and new math and Reasoning Gym pairings across agent harnesses
  • Safety and instruction following: AgentIF for agentic instruction-following scenarios, Citation IF for citation compliance, and synthetic social-bias questions that separately score answer correctness and whether explanations rely on stereotypes
  • Science and multimodal: Expanded Litmus ADME drug-discovery profiles, HLE vision for multimodal expert-level questions, image-tool PivotRL verification, and a synthetic OpenAir 5G congestion-control environment
  • Aviary environments: Standalone entries for scientific data analysis with BixBench-Hypothesis and BixBench, grade-school math with GSM8K, and multi-hop question answering with HotpotQA

See the Available Environments table for the full list.

Deprecation Notices

  • upload_rollouts_to_wandb has been renamed to upload_rollouts because it now controls rollout uploads to every configured exporter. The old name still works but emits a deprecation warning
  • NeMo Gym now requires openai==2.44.0 instead of openai<=2.7.2. A parent environment that forces another version fails configuration by default. Set allow_openai_version_skew: true only when intentionally allowing the parent and server environments to use different SDK versions
  • +agent_name=<name> now sends every row to that agent. Previously, it only applied to rows that did not specify an agent. Use +agent_map=... to reroute only selected rows
  • Datasets collated before v0.6.0 may contain agent_ref without task_source. They still run, but this routing format is deprecated; run gym dataset collate again or set agent_map explicitly
  • Because collation now validates task data, malformed or mismatched rows that were previously accepted may fail during preparation. Use gym env schema --resources-server <name> to see the expected shape
  • Agentic math environments now use harness-first names. Previous environment names, config paths, preparation scripts, and agent references remain supported as deprecated aliases and emit migration warnings:
    • reasoning_gym_claude_code → claude_code_reasoning_gym
    • reasoning_gym_hermes → hermes_reasoning_gym
    • reasoning_gym_orchestrator → langgraph_orchestrator_reasoning_gym
    • reasoning_gym_parallel_thinking → langgraph_parallel_thinking_reasoning_gym
    • reasoning_gym_reflection → langgraph_reflection_reasoning_gym
    • reasoning_gym_rewoo → langgraph_rewoo_reasoning_gym
  • The following agent config files were renamed. Previous config paths and --agent-type flavors remain supported as deprecated aliases and emit migration warnings:
    • stirrup_gdpval.yaml → stirrup_agent.yaml
    • tau2_agent.yaml → tau2.yaml
    • acereason-math.yaml → verifiers_agent.yaml

Bug Fixes

  • Converting between Responses and Chat Completions now preserves structured tool outputs and reasoning metadata and supports audio, file, custom-tool, and parallel tool-call inputs
  • Fixed recursive config_paths overrides so nested configurations apply in the intended order
  • gym eval run --split now fails immediately when no declared dataset matches the requested split
  • Dry runs now fail when server environment setup fails and report unresolved configuration values and catalog lookups clearly
  • Improved OpenSandbox reliability around authentication, startup races, unavailable backends, out-of-memory failures, and cleanup
  • Added support for running Docker sandboxes as a non-root user
  • Preserved exact vLLM token metadata instead of re-tokenizing prompts
  • Improved SWE agent reliability across OpenHands, OpenCode, and SWE-Bench
  • Fresh runs now clear outdated failure reports when reusing an output path
  • Fixed AnyTerminal secret redaction so unrelated configuration values are not modified
  • OpenClaw now preserves partial execution traces when a run times out

Documentation

  • Added reproducible Nemotron 3.5 Lightning evaluation recipe across agentic, knowledge, reasoning, and science benchmarks
  • Added a guide for diagnosing rollout quality with gym eval health-check
  • Added a tutorial for using external agent harnesses to generate on-policy training rollouts.
  • Added a setup guide for the E2B sandbox provider
  • Added a guide for running routing-aware evaluations with Switchyard and comparing results across routing conditions
  • Added practical guidance for verifying equivalent answers
Changelog Details
  • feat(translation): overhaul WMT24++ and FLORES evaluation by @thompsonb :: PR: #2251
  • PinchBench: preserve OpenClaw timeout (DCO-clean replacement) by @AWarno :: PR: #2211
  • fix(pinchbench): isolate the sandbox from the host process tree by @laszkiewiczp :: PR: #2262
  • feat(opensandbox): add automatic job attribution (team/user/workload) to sandbox metadata by @hemildesai :: PR: #2020
  • docs: Update NeMo RL v0.7.0 compatibility guidance (#2257) by @ffrujeri :: PR: #2273
  • docs: clarify multi-reward verification contract by @init-nikhil :: PR: #2276
  • fix: register get_weather on example_tool_call_multireward by @init-nikhil :: PR: #2270
  • Expand MMLU-ProX to 29 languages + small fixes by @thompsonb :: PR: #2272
  • feat(opensandbox): keepalive-bounded transport + create hardening + resource requests/limits by @hemildesai :: PR: #2212
  • chore(ci): AUT-1231 bump preflight workflow template by @svcnemo-autobot :: PR: #2280
  • feat(pinchbench): add the benchmark config for the full 147-task suite by @laszkiewiczp :: PR: #2259
  • fix(apptainer): keep sandbox env out of argv by @laszkiewiczp :: PR: #2284
  • docs(fern): migrate remaining examples to unified CLI by @gwarmstrong :: PR: #2282
  • security: bump nltk >=3.10.0 and fix inisec import blocks by @kajalj22 :: PR: #2290
  • docs: Sync docs Gym Configuration YAML with NeMo RL upstream keys. by @ffrujeri :: PR: #2288
  • fix(tau2): exclude review_model from snapshot comparison by @kajalj22 :: PR: #2292
  • osworld integration(for benchmarking) by @JeffPengCoder :: PR: #1408
  • fix(pinchbench): reject a model name whose agent id the harness cannot resolve by @laszkiewiczp :: PR: #2287
  • chore(ci): AUT-1298 bump community workflow to v1.8.7 by @svcnemo-autobot :: PR: #2289
  • docs: move CI checks reference into CONTRIBUTING.md by @kajalj22 :: PR: #2024
  • security: bump mlflow to 3.15.1 by @kajalj22 :: PR: #2298
  • docs: Document Anthropic Messages dialect and Claude Code model_server wiring. by @ffrujeri :: PR: #2297
  • refactor(remote_agent): single-pass unpaired-call guard by @adil-a :: PR: #2321
  • feat: support kilocode model calls through a Gym model server by @ananthsub :: PR: #2319
  • docs: link training tutorials under the /tutorials/ section prefix by @ananthsub :: PR: #2317
  • docs(swe_agents): replace leftover ng_viewer with jq by @e-dobrowolska :: PR: #2306
  • feat: add standalone Gym Docker container by @kajalj22 :: PR: #2161
  • fix(cli): accept -v/--verbose before the subcommand; stop suggesting a flag as its own correction by @e-dobrowolska :: PR: #2303
  • fix(cli): report cleanly unresolved config interpolations; fix the env resolve docs example by @e-dobrowolska :: PR: #2310
  • build: bump Python 3.12 → 3.13.13 by @kajalj22 :: PR: #2194
  • Basic SLURM orchestration by @prokotg :: PR: #2176
  • [fix] Standardize rollout trajectory records and document producer coverage by @Glorf :: PR: #2293
  • fix(sandbox): health-check on connect in the OpenSandbox provider by @hemildesai :: PR: #2345
  • feat(harbor_agent): NeMo Gym sandbox execution backend + Terminal-Bench 2.1 config by @hemildesai :: PR: #2296
  • fix: create the rollout output directory before the first write by @ananthsub :: PR: #2313
  • feat(mini_swe_agent, mini_swe_agent_2): allow per-request policy endpoint override in /run by @nblintao :: PR: #2166
  • docs: make Nemotron 3 Nano storage requirements consistent by @ananthsub :: PR: #2315
  • docs: link Add a Benchmark by path instead of absolute URL by @ananthsub :: PR: #2316
  • fix(cli): uniform name key, model usage examples, and parseable --json output by @e-dobrowolska :: PR: #2305
  • docs(fern): rewrite key terminology glossary (#1500) by @sephmard :: PR: #2355
  • security: bump vllm 0.20.0 → 0.24.0 and GitPython for CVE remediation by @kajalj22 :: PR: #2353
  • docs: compare resources server APIs by @ffrujeri :: PR: #2325
  • docs: add execution and state match verification guide. by @ffrujeri :: PR: #2359
  • docs: correct Workplace Assistant tool and database counts by @ananthsub :: PR: #2314
  • feat(resources_servers): add string_match and gui_coordinate verifiers by @DanialTaheri :: PR: #2332
  • fix(resources_servers): add missing READMEs for string_match and gui_coordinate by @ananthsub :: PR: #2377
  • feat(cli): check model endpoints before starting a run by @ananthsub :: PR: #2362
  • docs(fern): add v0.5.0 version snapshot for GA release by @kajalj22 :: PR: #2389
  • fix(docs): remove absolute internal URL from 0.5.0 release notes by @kajalj22 :: PR: #2397
  • docs(fern): remove NeMo Evaluator from Ecosystem page by @sephmard :: PR: #2413
  • docs(readme): add v0.5.0 to News section by @kajalj22 :: PR: #2405
  • perf(vllm_model): fix the session-based routing algorithm for num_worker>1 by @youngeunkwon0405 :: PR: #2369
  • bump: version 0.5.0 → 0.5.1 on main by @kajalj22 :: PR: #2422
  • SWEBench resources server by @bxyu-nvidia :: PR: #2421
  • Update Super 3.5 evals by @bxyu-nvidia :: PR: #2423
  • OpenCode Sandboxed agent server by @bxyu-nvidia :: PR: #2424
  • [Unvalidated] SWE Bench Verified+Multilingual OpenCode benchmark by @bxyu-nvidia :: PR: #2426
  • chore: update claude review to FW-CI-templates v1.8.5 by @kajalj22 :: PR: #2197
  • feat(docker): install enroot and declare bash in Gym container by @kajalj22 :: PR: #2392
  • fix(local_vllm_model): put the server venv's bin on the Ray actor's PATH by @ananthsub :: PR: #2428
  • feat: add end-to-end synthetic conversational tool-use generation and rollouts by @jkyi-nvidia :: PR: #2111
  • fix(opensandbox): make exec resilient to execd bind race and dead backends by @hemildesai :: PR: #2418
  • feat: provider neutral cvdp sandbox update by @cmunley1 :: PR: #2076
  • docs(fern): restore tutorial path redirects by @lbliii :: PR: #2323
  • fix(pinchbench): startup validation, non-clean exit handling, FEP-1322 image check by @laszkiewiczp :: PR: #2440
  • docs: improve model-call capture guide by @ritaneves :: PR: #2415
  • fix(openai_utils): accept hosted-tool responses api output items by @Atharva-Kanherkar :: PR: #2438
  • [rollout-observability][3/7] Add OpenClaw rollout observations by @Glorf :: PR: #2115
  • docs: Add equivalence match verification guide. by @ffrujeri :: PR: #2294
  • fix(aviary_agent): add type discriminators to the mocked /verify response by @ananthsub :: PR: #2461
  • Add LiteLLM provider into ‎responses_api_models by @imxj :: PR: #990
  • fix(opensandbox): send the API key on proxied execd routes by @hemildesai :: PR: #2462
  • fix(swe_agents): fix exit-code capture and final-failure exit in openhands.sh make-build retry by @michal2409 :: PR: #2446
  • fix(swe_agents): forward max_output_tokens to the OpenHands llm config by @michal2409 :: PR: #2449
  • [rollout-observability][4/7] Add Hermes rollout observations by @Glorf :: PR: #2117
  • feat(docs) recipes by @ritaneves :: PR: #2471
  • [rollout-observability][5/7] Add Pi rollout observations by @Glorf :: PR: #2118
  • security: remove bundled royalty-bearing codec binaries by @kajalj22 :: PR: #2376
  • ci(gym): add shared CPU CI contract by @ko3n1g :: PR: #2271
  • OpenCodeSandboxedAgent and SWEBench servers hardening by @bxyu-nvidia :: PR: #2479
  • GlobalConfig resolves overrides from recursive config_paths correctly by @bxyu-nvidia :: PR: #2478
  • Super 3.5 evals 20260811 update by @bxyu-nvidia :: PR: #2480
  • [1/4] feat(environments): define manifest contract by @Glorf :: PR: #2417
  • contributing guide updates by @vadam5 :: PR: #881
  • PivotRL parallel tool calls for single step argument comparison env by @jkyi-nvidia :: PR: #2463
  • build(sandbox): add httpx-aiohttp to the sandbox extra by @hemildesai :: PR: #2487
  • fix(responses): handle omitted Chat tools by @ananthsub :: PR: #2493
  • fix(responses): validate token metadata as a bundle by @ananthsub :: PR: #2488
  • security: remove dependencies flagged in legal review by @kajalj22 :: PR: #2492
  • chore: route PR reviews to owning teams via CODEOWNERS by @anwithk :: PR: #2439
  • Misc infra 20260811 by @bxyu-nvidia :: PR: #2502
  • fix(ci): lazy-load optional gprof2dot dependency by @cmunley1 :: PR: #2499
  • Add back Super 3.5 evals args to CLI rather than config by @bxyu-nvidia :: PR: #2503
  • [Super 3.5 evals] Remove unnecessary curls by @bxyu-nvidia :: PR: #2504
  • fix(responses): preserve reasoning effort across conversions by @ananthsub :: PR: #2489
  • fix(chat): support audio, files, and custom tools by @ananthsub :: PR: #2491
  • fix(responses): preserve structured function outputs by @ananthsub :: PR: #2490
  • feat(finance_agent_v2): add Vals Finance Agent v2 (FABv2) environment by @ushnish-de :: PR: #2379
  • fix(responses): remove reasoning_item from the boundary set, and name the training-variant error by @ananthsub :: PR: #2453
  • test(responses): check the item union and boundary sets against the installed openai SDK by @ananthsub :: PR: #2454
  • docs(finance_agent_v2): configure the tool API keys in env.yaml in the server README by @ushnish-de :: PR: #2506
  • fix(deps): isolate OpenShell SDK from sandbox extra by @hemildesai :: PR: #2432
  • [2/4] feat(environments): add static manifest validation by @Glorf :: PR: #2441
  • [3/4] feat(environments): add profile-aware scaffolding by @Glorf :: PR: #2442
  • revert: route PR reviews to owning teams via CODEOWNERS by @ritaneves :: PR: #2510
  • Env variable injection for basic SLURM orchestration by @oyilmaz-nvidia :: PR: #2354
  • Container mount and output parameter basic SLURM orchestration by @oyilmaz-nvidia :: PR: #2419
  • [4/4] feat(environments): add onboarding catalog and commands by @Glorf :: PR: #2443
  • fix(cli): fail a dry run when a server's venv setup exits non-zero by @ananthsub :: PR: #2476
  • [rollout-observability][6/7] Add OpenCode rollout observations by @Glorf :: PR: #2119
  • fix(pinchbench): OpenClaw timeout configuration — invalid agents.list key, clamped run ceiling, coupled knobs by @laszkiewiczp :: PR: #2477
  • feat: add stable public API surface to nemo_gym package by @ananthsub :: PR: #1871
  • fix(ci): add expected answer to wheel test fixture by @cmunley1 :: PR: #2516
  • ci: AUT-1474 retry transient full-suite failures by @svcnemo-autobot :: PR: #2511
  • fix: make the stdin mock iterable by @tdene :: PR: #2508
  • fix(global_config): fail fast when the parent openai version violates nemo-gym's constraint; explicit opt-in for version skew by @michal2409 :: PR: #2447
  • ci: AUT-1501 bump SSO preflight to v1.8.10 by @svcnemo-autobot :: PR: #2544
  • feat(osworld): add OpenSandbox backend with scoped dependency policy by @JeffPengCoder :: PR: #2308
  • fix(responses_converter): tool_call related fixes by @pachmu :: PR: #2515
  • feat(sandbox): interactive PTY sessions for the OpenSandbox provider by @hemildesai :: PR: #2329
  • fix(sandbox): silence OpenSandbox SDK info logs by @hemildesai :: PR: #2550
  • [browsecomp harness] adding a memory tool by @ritugala :: PR: #2140
  • Super 3.5 evals update 20260813 by @bxyu-nvidia :: PR: #2549
  • [Super 3.5 evals] SWE Bench Verified fixes; Rollout collection prints intermediate statuses; Misc improvements by @bxyu-nvidia :: PR: #2562
  • feat(benchmarks): add HLE vision (multimodal) variant by @gnalbandyan :: PR: #2529
  • [Super 3.5 evals] Update Aug 15 2026 by @bxyu-nvidia :: PR: #2565
  • feat: prime-agent integration by @cmunley1 :: PR: #2406
  • Refactor(finance_agent): one loop for both finance agent benchmarks by @ushnish-de :: PR: #2548
  • fix: update langgraph agents by @cmunley1 :: PR: #2149
  • feat(vllm-model): pin sampling params for on-policy training by @ananthsub :: PR: #2190
  • fix(hermes_agent): configurable api key and chat template args by @cmunley1 :: PR: #1794
  • Fix global_config: Preserve sibling order when outer config_paths override inner ones by @ushnish-de :: PR: #2572
  • feat(apptainer provider): support custom apptainer binpath by @cmunley1 :: PR: #1957
  • Fix global_config: keep sibling subtrees contiguous when flattening config_paths by @ushnish-de :: PR: #2573
  • [Super 3.5 evals] Update Aug 17 2026 by @bxyu-nvidia :: PR: #2579
  • VCQA Agent (AC) by @kbhardwaj-nvidia :: PR: #1997
  • feat(agents): add Cline CLI agent harness by @cline-test-bot :: PR: #2563
  • Add ruler2 benchmark + ruler2 resource server (RULER v2) by @gwarmstrong :: PR: #1165
  • litmus benchmarking and profiling for Tier 1,2 and 5 ADME questions by @OliviaViessmann :: PR: #2517
  • fix: preserve unknown response usage details in responses converters by @ananthsub :: PR: #2583
  • docs: redirect retired 0.1.x and pre-nest GRPO URLs by @lbliii :: PR: #2518
  • fix(vllm_model): prefer inline token metadata over prompt tokenization by @ananthsub :: PR: #1558
  • fix(docker): support non-root runtime execution by @ko3n1g :: PR: #2560
  • Add bbq resource server: BBQ-style social-bias comparative QA with a two-judge product reward by @nickson-quak :: PR: #2375
  • ci: add 5-minute timeout to apt-get install step in unit tests by @kajalj22 :: PR: #2603
  • feat: overridable results_dir/cache_dir roots; anchor SWE artifacts and setup trees on them by @michal2409 :: PR: #2448
  • feat(video): support video inputs in vLLM responses by @ehosseiniasl :: PR: #2324
  • fix(workplace-assistant): install Jupyter for SDG notebook by @shashank3959 :: PR: #2590
  • fix(opensandbox): surface OOM status after exec 502 by @hemildesai :: PR: #2604
  • feat: option to skip verification by @macandro96 :: PR: #2279
  • feat(opensandbox): configure network policy by @cmunley1 :: PR: #2607
  • ci: retry apt-get from Actions side instead of apt's own timeout by @kajalj22 :: PR: #2626
  • feat(openair): add a 5G congestion-control environment by @adv-andrew :: PR: #2564
  • [Super 3.5 evals] Update Aug 19 2026 by @bxyu-nvidia :: PR: #2627
  • feat: pass max_tokens to Hermes by @elisam0 :: PR: #2614
  • feat(spartqa): add SpartQA spatial-reasoning benchmark by @pachmu :: PR: #2072
  • feat(longmemeval): add LongMemEval long-term-memory QA benchmark by @pachmu :: PR: #2302
  • feat(pinchbench): add custom provider headers by @giuliolovisotto :: PR: #2598
  • feat: MLFlow exporter by @marta-sd :: PR: #2606
  • docs: Update README with detailed IHEval metrics and usage instructions by @pachmu :: PR: #2512
  • fix(cli): report workload lookup errors by catalog kind by @qiaochuz-nv :: PR: #2625
  • Multi-Instance vLLM Support in gym eval submit by @oyilmaz-nvidia :: PR: #2482
  • feat(citation_if): add citation_if resources server for citation instruction-following by @knayaka :: PR: #2586
  • fix: skip rewriting an up-to-date dataset metrics sidecar by @gchlebus :: PR: #2634
  • Add image tools agent and PivotRL verifier by @DanialTaheri :: PR: #2624
  • fix(ci): make image tools agent discoverable by @ananthsub :: PR: #2643
  • ci: add Gym GPU test workflow by @chtruong814 :: PR: #2630
  • feat(token-id-capture): capture training tokens from external harnesses by @ananthsub :: PR: #2124
  • fix(harbor): reuse one HTTP client per episode for vLLM session affinity by @puneeshkhanna :: PR: #1669
  • feat(token-id-capture): chain a rollout's calls into one response by @ananthsub :: PR: #2125
  • fix(vllm pd): let the caller name the rollouts file by @laszkiewiczp :: PR: #2648
  • feat(token-id-capture): deliver rebuilt trajectories safely by @ananthsub :: PR: #2126
  • feat(openclaw_agent): improve openclaw by @elisam0 :: PR: #2649
  • [Super 3.5 evals] Update Aug 21, 2026 by @bxyu-nvidia :: PR: #2658
  • fix(openclaw_agent): salvage the partial trace when a run is cut short by timeout by @elisam0 :: PR: #2615
  • feat: add OpenClaw to AnyTerminal by @elisam0 :: PR: #2650
  • fix: secret redaction anyterminal by @elisam0 :: PR: #2651
  • feat: strands agent by @cmunley1 :: PR: #2420
  • [Super 3.5 evals] Update Aug 23, 2026 by @bxyu-nvidia :: PR: #2701
  • Mboubdir/super 3dot5 pipecleaning by @ka00ri :: PR: #2618
  • feat(agent): add simple agent with context compaction by @aroshanghias-nvd :: PR: #2616
  • fix(eval): reject -i/--input in end-to-end eval run instead of silently ignoring it by @adil-a :: PR: #2709
  • ci: add Fireworks inference provider e2e by @chtruong814 :: PR: #2712
  • test: add GPU end-to-end CI coverage by @balasaajay :: PR: #2662
  • fix(openshell): keep generated sandbox names routable by @cwing-nvidia :: PR: #2671
  • fix(mini_swe_agent_2): remove duplicate datasets key in config by @kajalj22 :: PR: #2743
  • docs: update standalone Python runtime examples by @cwing-nvidia :: PR: #2716
  • docs: clarify ARC-AGI setup and execution by @qiaochuz-nv :: PR: #2735
  • ci: stop running unit tests and container build twice per PR by @kajalj22 :: PR: #2707
  • fix: clear failure sidecar on fresh rollout runs by @ananthsub :: PR: #2723
  • feat: agentic math environments by @cmunley1 :: PR: #2151
  • docs: note /ok to test requirement for CI triggering by @kajalj22 :: PR: #2759
  • fix(evalplus): handle non-picklable MBPP outputs by @ananthsub :: PR: #2747
  • fix(longmt): derive runtime caches from Gym config by @ananthsub :: PR: #2762
  • docs: training on rollouts from an external agent harness by @ananthsub :: PR: #2341
  • feat: declare failure_reason on BaseVerifyResponse by @tdene :: PR: #2552
  • [rollout-observability][7/7] Add SWE agent rollout observations by @Glorf :: PR: #2120
  • Multi-node multi-instance vLLM via gym eval submit by @oyilmaz-nvidia :: PR: #2597
  • feat: judge endpoint resiliency by @tdene :: PR: #2383
  • fix: flaky fireworks-e2e test by @kajalj22 :: PR: #2753
  • fix: bump Pillow to 12.3.0 in osworld_agent by @kajalj22 :: PR: #2751
  • feat: aviary environments by @cmunley1 :: PR: #1466
  • fix(docs): environment concepts page by @cmunley1 :: PR: #2708
  • fix aviary readme by @cmunley1 :: PR: #2773
  • feat(finance_sec_search): local backend to find SEC filings by full-text search by @ushnish-de :: PR: #2722
  • feat(opensandbox): add run-scoped cleanup job by @hemildesai :: PR: #2559
  • feat(sandbox): detached PTY exec — run long commands without holding a connection by @hemildesai :: PR: #2558
  • [Super 3.5 evals] Update Aug 25, 2026 by @bxyu-nvidia :: PR: #2780
  • docs: fix single-step tutorial response output by @ananthsub :: PR: #2702
  • feat(nemotron_3.5_super): report the model under a caller-supplied name by @laszkiewiczp :: PR: #2786
  • fix(browsecomp): accept both vLLM /tokenize response shapes by @mjmikulski :: PR: #2789
  • Add rollout quality verification by @giuliolovisotto :: PR: #2705
  • feat(sandbox): dedicated short timeout for background status polls by @hemildesai :: PR: #2765
  • fix(opensandbox): let a caller launch the cleanup job from anywhere by @laszkiewiczp :: PR: #2791
  • [Browsecomp] Replacing shell access to pocket-shell (no exec) + Moving to Exa (+other cfg changes to align w NEL) by @ritugala :: PR: #2779
  • Super 3.5 vllm model tuning (Qwen3.5-122B-A10B, Inkling-Small) by @fsiino-nvidia :: PR: #2599
  • chore(deps): pin openai to 2.44.0 by @ananthsub :: PR: #2456
  • update pivot dataset generation skill with parallel tool calls capability by @jkyi-nvidia :: PR: #2798
  • fix: preserve HTTP errors across process boundaries by @ananthsub :: PR: #2726
  • docs: align single-step tutorial with verifier scaffold by @ananthsub :: PR: #2766
  • fix(local_vllm_model): generic configs cannot satisfy their own startup assertion and docs by @qiaochuz-nv :: PR: #2768
  • fix(opensandbox): make sandbox terminate idempotent on not-found by @hemildesai :: PR: #2760
  • ci: temporarily disable container_build and gpu_e2e_tests jobs by @kajalj22 :: PR: #2801
  • test: align CI-shape tests with temporarily disabled container/gpu jobs by @adil-a :: PR: #2803
  • feat(local_vllm_model): support vLLM 0.25.1 by @ananthsub :: PR: #2754
  • perf(server_utils): avoid repeated config work in agent runs by @ananthsub :: PR: #1404
  • feat(telemetry): add optional OpenTelemetry instrumentation via nemo-lens by @ahmadki :: PR: #2646
  • feat(rollout): agent_map override + pre-dispatch agent validation by @adil-a :: PR: #2710
  • feat(rollout): task_source resolution and run-level fan-out by @adil-a :: PR: #2713
  • feat(data): collate stamps task_source; datasets declarable on resources servers by @adil-a :: PR: #2717
  • feat: add switchyard_model server for router-backed evals with condition provenance by @linj-glitch :: PR: #2141
  • fix(scicode): write generated code to a file instead of passing it via argv by @jubick1337 :: PR: #2804
  • [Unvalidated] Checkpoint in progress TerminalBench 2.1 benchmark; Update Super 3.5 evals container to include TB 2.1 by @bxyu-nvidia :: PR: #2815
  • feat: nemo fabric integration by @cmunley1 :: PR: #2591
  • [Performance] Rollout collection _preprocess_rows_from_config avoid deepcopy by @bxyu-nvidia :: PR: #2816
  • docs(fern): document rollout health checks by @giuliolovisotto :: PR: #2784
  • SWE Agents Opencode update by @sdevare-nv :: PR: #2817
  • fix(code_gen): make LCB mock sys.stdin.buffer a real byte stream by @fgalko-oss :: PR: #2824
  • feat(swebench,opencode): inject CPU parallelism-cap env vars derived from the sandbox CPU limit by @hemildesai :: PR: #2828
  • feat: update fabric configs and output by @cmunley1 :: PR: #2821
  • ci: enforce test coverage gate before merge, not just after by @kajalj22 :: PR: #2813
  • Update enroot readme by @oyilmaz-nvidia :: PR: #2328
  • feat(sandbox): add E2B sandbox provider by @max-sudolabs :: PR: #2301
  • fix(workplace-assistant): install wcwidth for SDG notebook by @shashank3959 :: PR: #2829
  • feat(observability): add per-rollout and per-run aggregate observability metrics by @mlazuka :: PR: #2790
  • feat(token-id-capture): record served response IDs by @ananthsub :: PR: #2675
  • ci: scheduled (every 4h) Gym CI with manual trigger and single gate by @kajalj22 :: PR: #2810
  • feat(token-id-capture): attribute terminal model calls by @ananthsub :: PR: #2676
  • feat: terminus 2 agent integration by @cmunley1 :: PR: #2457
  • ci: AUT-2161 route external jobs through ephemeral v2 by @svcnemo-autobot :: PR: #2818
  • Validate the local SEC sqlite index and its metadata sidecar at startup by @ushnish-de :: PR: #2833
  • Record agent /run failures as row-associated failures by @laszkiewiczp :: PR: #2017
  • Add repeat-level variability statistics to reward profiling by @mpatel31415 :: PR: #2474
  • feat: allow to swap agents when parsing the config by @marta-sd :: PR: #2640
  • feat: add --agent-type CLI flag to enable agent swaping by @marta-sd :: PR: #2641
  • feat: add safeguard for agent - resources server compatibility by @marta-sd :: PR: #2661
  • fix: rename agent instance after swapping the type by @marta-sd :: PR: #2757
  • fix(cli): add --all flag for gym env test by @marta-sd :: PR: #2825
  • fix(cli): support top-level --json flag by @marta-sd :: PR: #2820
  • feat (AgentIF): agentic instruction-following benchmark implementation by @pachmu :: PR: #2210
  • fix: remove local openai related fix by @sdevare-nv :: PR: #2839
  • docs: fix wrong Hydra override key in reverify-rollouts tutorial by @mpatel31415 :: PR: #2842
  • feat(token-id-capture): resolve each call's parent at request time by @ananthsub :: PR: #2180
  • ci: AUT-2168 pin Slack rejection handling by @svcnemo-autobot :: PR: #2834
  • feat(vllm-model): supply the previous call's exact training tokens by @ananthsub :: PR: #2181
  • feat(data): per-server task_data schemas, gym env schema, collate validation by @adil-a :: PR: #2795
  • feat(data): task_data schemas for all 108 resources servers by @adil-a :: PR: #2800
  • release: set package version to 0.6.0rc0 by @ananthsub :: PR: #2846
  • feat(benchmarks): explicit agent pin on benchmark datasets; scaffold generates the decoupled layout (2724) by @svcnvidia-nemo-ci :: PR: #2851
  • perf: serialize non-streaming responses with orjson in model server (2867) by @ananthsub :: PR: #2895
  • fix(responses-converter): strip strict from function tools before engine dispatch (2892) by @svcnvidia-nemo-ci :: PR: #2899
  • docs: fix switchyard.mdx inaccuracies (nvbug 6674632) (2897) by @svcnvidia-nemo-ci :: PR: #2900
  • fix(workplace-assistant): release session state after verification (2886) by @svcnvidia-nemo-ci :: PR: #2902
  • perf: use httptools for HTTP parsing (2869) by @svcnvidia-nemo-ci :: PR: #2894
  • fix: gym list benchmarks docs (2819) by @svcnvidia-nemo-ci :: PR: #2916
  • docs: update external harness token capture guide (2349) by @svcnvidia-nemo-ci :: PR: #2936
  • fix(cli): fail fast when gym eval run --split has no matching dataset (2911) by @svcnvidia-nemo-ci :: PR: #2953
  • feat(cli): add strict mode for gym env validate command (2844) by @svcnvidia-nemo-ci :: PR: #2922
  • fix(cli): allow repeated selector flags (2843) by @svcnvidia-nemo-ci :: PR: #2955
  • feat(data): task_data validation gating: auto mode, misplaced-field check, repo drift test (#2827 cherry-pick into r0.6.0) by @adil-a :: PR: #2854
  • revert: remove NeMo Fabric support from r0.6.0 by @ananthsub :: PR: #3066
  • fix: preserve renamed config compatibility (3067) by @svcnvidia-nemo-ci :: PR: #3071
  • docs: v0.6.0 release notes (2830) by @svcnvidia-nemo-ci :: PR: #3074
  • fix(rollout-collection): carry rollout latency out-of-band (#3068) by @ananthsub :: PR: #3075
  • Bump transformers, mlflow, hydra-core, sqlparse for CVE fixes (2982) by @svcnvidia-nemo-ci :: PR: #3088
  • docs: add v0.6.0 README news (3073) by @svcnvidia-nemo-ci :: PR: #3076
  • docs: Docker install path, Python 3.13.14 refs, enroot GPU toolkit (2725) by @kajalj22 :: PR: #3091
  • cp: docs(fern): add v0.5.1 version snapshot for GA release into main (2987) by @svcnvidia-nemo-ci :: PR: #3099
  • docs: expand ATTRIBUTIONS.md to full 167-package inventory (2547) by @kajalj22 :: PR: #3092
  • docs: fix r0.6.0 documentation inconsistencies (3090) by @svcnvidia-nemo-ci :: PR: #3110
  • cp: fix(docker): drop --ldconfig arg from enroot NVIDIA hook into main (2983) by @svcnvidia-nemo-ci :: PR: #3120
  • security: bump nltk, mlflow, and GitPython for CVE remediation by @kajalj22 :: PR: #3119
  • docs(legal): PinchBench modified-component notice and NVIDIA disclaimer (2629) by @kajalj22 :: PR: #3093
  • release: drop pre-release tag for v0.6.0 by @kajalj22 :: PR: #3126
  • docs(fern): add v0.6.0 version snapshot for GA release (3125) by @svcnvidia-nemo-ci :: PR: #3166
  • feat(translation): overhaul WMT24++ and FLORES evaluation (#2251) by @thompsonb
  • PinchBench: preserve OpenClaw timeout (DCO-clean replacement) (#2211) by @AWarno
  • fix(pinchbench): isolate the sandbox from the host process tree (#2262) by @laszkiewiczp
  • feat(opensandbox): add automatic job attribution (team/user/workload) to sandbox metadata (#2020) by @hemildesai
  • docs: Update NeMo RL v0.7.0 compatibility guidance (#2257) (#2273) by @ffrujeri
  • docs: clarify multi-reward verification contract (#2276) by @init-nikhil
  • fix: register get_weather on example_tool_call_multireward (#2270) by @init-nikhil
  • Expand MMLU-ProX to 29 languages + small fixes (#2272) by @thompsonb
  • feat(opensandbox): keepalive-bounded transport + create hardening + resource requests/limits (#2212) by @hemildesai
  • chore(ci): AUT-1231 bump preflight workflow template (#2280) by @svcnemo-autobot
  • feat(pinchbench): add the benchmark config for the full 147-task suite (#2259) by @laszkiewiczp
  • fix(apptainer): keep sandbox env out of argv (#2284) by @laszkiewiczp
  • docs(fern): migrate remaining examples to unified CLI (#2282) by @gwarmstrong
  • security: bump nltk >=3.10.0 and fix inisec import blocks (#2290) by @kajalj22
  • docs: Sync docs Gym Configuration YAML with NeMo RL upstream keys. (#2288) by @ffrujeri
  • fix(tau2): exclude review_model from snapshot comparison (#2292) by @kajalj22
  • osworld integration(for benchmarking) (#1408) by @JeffPengCoder
  • fix(pinchbench): reject a model name whose agent id the harness cannot resolve (#2287) by @laszkiewiczp
  • chore(ci): AUT-1298 bump community workflow to v1.8.7 (#2289) by @svcnemo-autobot
  • docs: move CI checks reference into CONTRIBUTING.md (#2024) by @kajalj22
  • security: bump mlflow to 3.15.1 (#2298) by @kajalj22
  • docs: Document Anthropic Messages dialect and Claude Code model_server wiring. (#2297) by @ffrujeri
  • refactor(remote_agent): single-pass unpaired-call guard (#2321) by @adil-a
  • feat: support kilocode model calls through a Gym model server (#2319) by @ananthsub
  • docs: link training tutorials under the /tutorials/ section prefix (#2317) by @ananthsub
  • docs(swe_agents): replace leftover ng_viewer with jq (#2306) by @e-dobrowolska
  • feat: add standalone Gym Docker container (#2161) by @kajalj22
  • fix(cli): accept -v/--verbose before the subcommand; stop suggesting a flag as its own correction (#2303) by @e-dobrowolska
  • fix(cli): report cleanly unresolved config interpolations; fix the env resolve docs example (#2310) by @e-dobrowolska
  • build: bump Python 3.12 → 3.13.13 (#2194) by @kajalj22
  • Basic SLURM orchestration (#2176) by @prokotg
  • [fix] Standardize rollout trajectory records and document producer coverage (#2293) by @Glorf
  • fix(sandbox): health-check on connect in the OpenSandbox provider (#2345) by @hemildesai
  • feat(harbor_agent): NeMo Gym sandbox execution backend + Terminal-Bench 2.1 config (#2296) by @hemildesai
  • fix: create the rollout output directory before the first write (#2313) by @ananthsub
  • feat(mini_swe_agent, mini_swe_agent_2): allow per-request policy endpoint override in /run (#2166) by @nblintao
  • docs: make Nemotron 3 Nano storage requirements consistent (#2315) by @ananthsub
  • docs: link Add a Benchmark by path instead of absolute URL (#2316) by @ananthsub
  • fix(cli): uniform name key, model usage examples, and parseable --json output (#2305) by @e-dobrowolska
  • docs(fern): rewrite key terminology glossary (#1500) (#2355) by @sephmard
  • security: bump vllm 0.20.0 → 0.24.0 and GitPython for CVE remediation (#2353) by @kajalj22
  • docs: compare resources server APIs (#2325) by @ffrujeri
  • docs: add execution and state match verification guide. (#2359) by @ffrujeri
  • docs: correct Workplace Assistant tool and database counts (#2314) by @ananthsub
  • feat(resources_servers): add string_match and gui_coordinate verifiers (#2332) by @DanialTaheri
  • fix(resources_servers): add missing READMEs for string_match and gui_coordinate (#2377) by @ananthsub
  • feat(cli): check model endpoints before starting a run (#2362) by @ananthsub
  • docs(fern): add v0.5.0 version snapshot for GA release (#2389) by @kajalj22
  • fix(docs): remove absolute internal URL from 0.5.0 release notes (#2397) by @kajalj22
  • docs(fern): remove NeMo Evaluator from Ecosystem page (#2413) by @sephmard
  • docs(readme): add v0.5.0 to News section (#2405) by @kajalj22
  • perf(vllm_model): default to eight server workers (#2369) by @youngeunkwon0405
  • bump: version 0.5.0 → 0.5.1 on main (#2422) by @kajalj22
  • SWEBench resources server (#2421) by @bxyu-nvidia
  • Update Super 3.5 evals (#2423) by @bxyu-nvidia
  • OpenCode Sandboxed agent server (#2424) by @bxyu-nvidia
  • [Unvalidated] SWE Bench Verified+Multilingual OpenCode benchmark (#2426) by @bxyu-nvidia
  • chore: update claude review to FW-CI-templates v1.8.5 (#2197) by @kajalj22
  • feat(docker): install enroot and declare bash in Gym container (#2392) by @kajalj22
  • fix(local_vllm_model): put the server venv's bin on the Ray actor's PATH (#2428) by @ananthsub
  • feat: add end-to-end synthetic conversational tool-use generation and rollouts (#2111) by @jkyi-nvidia
  • fix(opensandbox): make exec resilient to execd bind race and dead backends (#2418) by @hemildesai
  • feat: provider neutral cvdp sandbox update (#2076) by @cmunley1
  • docs(fern): restore tutorial path redirects (#2323) by @lbliii
  • fix(pinchbench): startup validation, non-clean exit handling, FEP-1322 image check (#2440) by @laszkiewiczp
  • docs: improve model-call capture guide (#2415) by @ritaneves
  • fix(openai_utils): accept hosted-tool responses api output items (#2438) by @Atharva-Kanherkar
  • [rollout-observability][3/7] Add OpenClaw rollout observations (#2115) by @Glorf
  • docs: Add equivalence match verification guide. (#2294) by @ffrujeri
  • fix(aviary_agent): add type discriminators to the mocked /verify response (#2461) by @ananthsub
  • Add LiteLLM provider into ‎responses_api_models (#990) by @imxj
  • fix(opensandbox): send the API key on proxied execd routes (#2462) by @hemildesai
  • fix(swe_agents): fix exit-code capture and final-failure exit in openhands.sh make-build retry (#2446) by @michal2409
  • fix(swe_agents): forward max_output_tokens to the OpenHands llm config (#2449) by @michal2409
  • [rollout-observability][4/7] Add Hermes rollout observations (#2117) by @Glorf
  • feat(docs) recipes (#2471) by @ritaneves
  • [rollout-observability][5/7] Add Pi rollout observations (#2118) by @Glorf
  • security: remove bundled royalty-bearing codec binaries (#2376) by @kajalj22
  • ci(gym): add shared CPU CI contract (#2271) by @ko3n1g
  • OpenCodeSandboxedAgent and SWEBench servers hardening (#2479) by @bxyu-nvidia
  • GlobalConfig resolves overrides from recursive config_paths correctly (#2478) by @bxyu-nvidia
  • Super 3.5 evals 20260811 update (#2480) by @bxyu-nvidia
  • [1/4] feat(environments): define manifest contract (#2417) by @Glorf
  • contributing guide updates (#881) by @vadam5
  • PivotRL parallel tool calls for single step argument comparison env (#2463) by @jkyi-nvidia
  • build(sandbox): add httpx-aiohttp to the sandbox extra (#2487) by @hemildesai
  • fix(responses): handle omitted Chat tools (#2493) by @ananthsub
  • fix(responses): validate token metadata as a bundle (#2488) by @ananthsub
  • security: remove dependencies flagged in legal review (#2492) by @kajalj22
  • chore: route PR reviews to owning teams via CODEOWNERS (#2439) by @anwithk
  • Misc infra 20260811 (#2502) by @bxyu-nvidia
  • fix(ci): lazy-load optional gprof2dot dependency (#2499) by @cmunley1
  • Add back Super 3.5 evals args to CLI rather than config (#2503) by @bxyu-nvidia
  • [Super 3.5 evals] Remove unnecessary curls (#2504) by @bxyu-nvidia
  • fix(responses): preserve reasoning effort across conversions (#2489) by @ananthsub
  • fix(chat): support audio, files, and custom tools (#2491) by @ananthsub
  • fix(responses): preserve structured function outputs (#2490) by @ananthsub
  • feat(finance_agent_v2): add Vals Finance Agent v2 (FABv2) environment (#2379) by @ushnish-de
  • fix(responses): remove reasoning_item from the boundary set, and name the training-variant error (#2453) by @ananthsub
  • test(responses): check the item union and boundary sets against the installed openai SDK (#2454) by @ananthsub
  • docs(finance_agent_v2): configure the tool API keys in env.yaml in the server README (#2506) by @ushnish-de
  • fix(deps): isolate OpenShell SDK from sandbox extra (#2432) by @hemildesai
  • [2/4] feat(environments): add static manifest validation (#2441) by @Glorf
  • [3/4] feat(environments): add profile-aware scaffolding (#2442) by @Glorf
  • revert: route PR reviews to owning teams via CODEOWNERS (#2510) by @ritaneves
  • Env variable injection for basic SLURM orchestration (#2354) by @oyilmaz-nvidia
  • Container mount and output parameter basic SLURM orchestration (#2419) by @oyilmaz-nvidia
  • [4/4] feat(environments): add onboarding catalog and commands (#2443) by @Glorf
  • fix(cli): fail a dry run when a server's venv setup exits non-zero (#2476) by @ananthsub
  • [rollout-observability][6/7] Add OpenCode rollout observations (#2119) by @Glorf
  • fix(pinchbench): OpenClaw timeout configuration — invalid agents.list key, clamped run ceiling, coupled knobs (#2477) by @laszkiewiczp
  • feat: add stable public API surface to nemo_gym package (#1871) by @ananthsub
  • fix(ci): add expected answer to wheel test fixture (#2516) by @cmunley1
  • ci: AUT-1474 retry transient full-suite failures (#2511) by @svcnemo-autobot
  • fix: make the stdin mock iterable (#2508) by @tdene
  • fix(global_config): fail fast when the parent openai version violates nemo-gym's constraint; explicit opt-in for version skew (#2447) by @michal2409
  • ci: AUT-1501 bump SSO preflight to v1.8.10 (#2544) by @svcnemo-autobot
  • feat(osworld): add OpenSandbox backend with scoped dependency policy (#2308) by @JeffPengCoder
  • fix(responses_converter): tool_call related fixes (#2515) by @pachmu
  • feat(sandbox): interactive PTY sessions for the OpenSandbox provider (#2329) by @hemildesai
  • fix(sandbox): silence OpenSandbox SDK info logs (#2550) by @hemildesai
  • [browsecomp harness] adding a memory tool (#2140) by @ritugala
  • Super 3.5 evals update 20260813 (#2549) by @bxyu-nvidia
  • [Super 3.5 evals] SWE Bench Verified fixes; Rollout collection prints intermediate statuses; Misc improvements (#2562) by @bxyu-nvidia
  • feat(benchmarks): add HLE vision (multimodal) variant (#2529) by @gnalbandyan
  • [Super 3.5 evals] Update Aug 15 2026 (#2565) by @bxyu-nvidia
  • feat: prime-agent integration (#2406) by @cmunley1
  • Refactor(finance_agent): one loop for both finance agent benchmarks (#2548) by @ushnish-de
  • fix: update langgraph agents (#2149) by @cmunley1
  • feat(vllm-model): pin sampling params for on-policy training (#2190) by @cmunley1
  • fix(hermes_agent): configurable api key and chat template args (#1794) by @cmunley1
  • Fix global_config: Preserve sibling order when outer config_paths override inner ones (#2572) by @ushnish-de
  • feat(apptainer provider): support custom apptainer binpath (#1957) by @cmunley1
  • Fix global_config: keep sibling subtrees contiguous when flattening config_paths (#2573) by @ushnish-de
  • [Super 3.5 evals] Update Aug 17 2026 (#2579) by @bxyu-nvidia
  • VCQA Agent (AC) (#1997) by @kbhardwaj-nvidia
  • feat(agents): add Cline CLI agent harness (#2563) by @cline-test-bot
  • Add ruler2 benchmark + ruler2 resource server (RULER v2) (#1165) by @gwarmstrong
  • litmus benchmarking and profiling for Tier 1,2 and 5 ADME questions (#2517) by @OliviaViessmann
  • fix: preserve unknown response usage details in responses converters (#2583) by @ananthsub
  • docs: redirect retired 0.1.x and pre-nest GRPO URLs (#2518) by @lbliii
  • fix(vllm_model): prefer inline token metadata over prompt tokenization (#1558) by @ananthsub
  • fix(docker): support non-root runtime execution (#2560) by @ko3n1g
  • Add bbq resource server: BBQ-style social-bias comparative QA with a two-judge product reward (#2375) by @nickson-quak
  • ci: add 5-minute timeout to apt-get install step in unit tests (#2603) by @kajalj22
  • feat: overridable results_dir/cache_dir roots; anchor SWE artifacts and setup trees on them (#2448) by @michal2409
  • feat(video): support video inputs in vLLM responses (#2324) by @ehosseiniasl
  • fix(workplace-assistant): install Jupyter for SDG notebook (#2590) by @shashank3959
  • fix(opensandbox): surface OOM status after exec 502 (#2604) by @hemildesai
  • feat: option to skip verification (#2279) by @macandro96
  • feat(opensandbox): configure network policy (#2607) by @cmunley1
  • ci: retry apt-get from Actions side instead of apt's own timeout (#2626) by @kajalj22
  • feat(openair): add a 5G congestion-control environment (#2564) by @adv-andrew
  • [Super 3.5 evals] Update Aug 19 2026 (#2627) by @bxyu-nvidia
  • feat: pass max_tokens to Hermes (#2614) by @elisam0
  • feat(spartqa): add SpartQA spatial-reasoning benchmark (#2072) by @pachmu
  • feat(longmemeval): add LongMemEval long-term-memory QA benchmark (#2302) by @pachmu
  • feat(pinchbench): add custom provider headers (#2598) by @giuliolovisotto
  • feat: MLFlow exporter (#2606) by @marta-sd
  • docs: Update README with detailed IHEval metrics and usage instructions (#2512) by @pachmu
  • fix(cli): report workload lookup errors by catalog kind (#2625) by @qiaochuz-nv
  • Multi-Instance vLLM Support in gym eval submit (#2482) by @oyilmaz-nvidia
  • feat(citation_if): add citation_if resources server for citation instruction-following (#2586) by @knayaka
  • fix: skip rewriting an up-to-date dataset metrics sidecar (#2634) by @gchlebus
  • Add image tools agent and PivotRL verifier (#2624) by @DanialTaheri
  • fix(ci): make image tools agent discoverable (#2643) by @ananthsub
  • ci: add Gym GPU test workflow (#2630) by @chtruong814
  • feat(token-id-capture): capture training tokens from external harnesses (#2124) by @ananthsub
  • fix(harbor): reuse one HTTP client per episode for vLLM session affinity (#1669) by @puneeshkhanna
  • feat(token-id-capture): chain a rollout's calls into one response (#2125) by @ananthsub
  • fix(vllm pd): let the caller name the rollouts file (#2648) by @laszkiewiczp
  • feat(token-id-capture): deliver rebuilt trajectories safely (#2126) by @ananthsub
  • feat(openclaw_agent): improve openclaw (#2649) by @elisam0
  • [Super 3.5 evals] Update Aug 21, 2026 (#2658) by @bxyu-nvidia
  • fix(openclaw_agent): salvage the partial trace when a run is cut short by timeout (#2615) by @elisam0
  • feat: add OpenClaw to AnyTerminal (#2650) by @elisam0
  • fix: secret redaction anyterminal (#2651) by @elisam0
  • feat: strands agent (#2420) by @cmunley1
  • [Super 3.5 evals] Update Aug 23, 2026 (#2701) by @bxyu-nvidia
  • Mboubdir/super 3dot5 pipecleaning (#2618) by @ka00ri
  • feat(agent): add simple agent with context compaction (#2616) by @aroshanghias-nvd
  • fix(eval): reject -i/--input in end-to-end eval run instead of silently ignoring it (#2709) by @adil-a
  • ci: add Fireworks inference provider e2e (#2712) by @chtruong814
  • test: add GPU end-to-end CI coverage (#2662) by @balasaajay
  • fix(openshell): keep generated sandbox names routable (#2671) by @cwing-nvidia
  • fix(mini_swe_agent_2): remove duplicate datasets key in config (#2743) by @kajalj22
  • docs: update standalone Python runtime examples (#2716) by @cwing-nvidia
  • docs: clarify ARC-AGI setup and execution (#2735) by @qiaochuz-nv
  • ci: stop running unit tests and container build twice per PR (#2707) by @kajalj22
  • fix: clear failure sidecar on fresh rollout runs (#2723) by @ananthsub
  • feat: agentic math environments (#2151) by @cmunley1
  • docs: note /ok to test requirement for CI triggering (#2759) by @kajalj22
  • fix(evalplus): handle non-picklable MBPP outputs (#2747) by @ananthsub
  • fix(longmt): derive runtime caches from Gym config (#2762) by @ananthsub
  • docs: training on rollouts from an external agent harness (#2341) by @ananthsub
  • feat: declare failure_reason on BaseVerifyResponse (#2552) by @tdene
  • [rollout-observability][7/7] Add SWE agent rollout observations (#2120) by @Glorf
  • Multi-node multi-instance vLLM via gym eval submit (#2597) by @oyilmaz-nvidia
  • feat: judge endpoint resiliency (#2383) by @tdene
  • fix: flaky fireworks-e2e test (#2753) by @kajalj22
  • fix: bump Pillow to 12.3.0 in osworld_agent (#2751) by @kajalj22
  • feat: aviary environments (#1466) by @cmunley1
  • fix(docs): environment concepts page (#2708) by @cmunley1
  • fix aviary readme (#2773) by @cmunley1
  • feat(finance_sec_search): local backend to find SEC filings by full-text search (#2722) by @ushnish-de
  • feat(opensandbox): add run-scoped cleanup job (#2559) by @hemildesai
  • feat(sandbox): detached PTY exec — run long commands without holding a connection (#2558) by @hemildesai
  • [Super 3.5 evals] Update Aug 25, 2026 (#2780) by @bxyu-nvidia
  • docs: fix single-step tutorial response output (#2702) by @ananthsub
  • feat(nemotron_3.5_super): report the model under a caller-supplied name (#2786) by @laszkiewiczp
  • fix(browsecomp): accept both vLLM /tokenize response shapes (#2789) by @mjmikulski
  • Add rollout quality verification (#2705) by @giuliolovisotto
  • feat(sandbox): dedicated short timeout for background status polls (#2765) by @hemildesai
  • fix(opensandbox): let a caller launch the cleanup job from anywhere (#2791) by @laszkiewiczp
  • [Browsecomp] Replacing shell access to pocket-shell (no exec) + Moving to Exa (+other cfg changes to align w NEL) (#2779) by @ritugala
  • Super 3.5 vllm model tuning (Qwen3.5-122B-A10B, Inkling-Small) (#2599) by @fsiino-nvidia
  • chore(deps): pin openai to 2.44.0 (#2456) by @ananthsub
  • update pivot dataset generation skill with parallel tool calls capability (#2798) by @jkyi-nvidia
  • fix: preserve HTTP errors across process boundaries (#2726) by @ananthsub
  • docs: align single-step tutorial with verifier scaffold (#2766) by @ananthsub
  • fix(local_vllm_model): generic configs cannot satisfy their own startup assertion and docs (#2768) by @qiaochuz-nv
  • fix(opensandbox): make sandbox terminate idempotent on not-found (#2760) by @hemildesai
  • ci: temporarily disable container_build and gpu_e2e_tests jobs (#2801) by @kajalj22
  • test: align CI-shape tests with temporarily disabled container/gpu jobs (#2803) by @adil-a
  • feat(local_vllm_model): support vLLM 0.25.1 (#2754) by @ananthsub
  • perf(server_utils): avoid repeated config work in agent runs (#1404) by @ananthsub
  • feat(telemetry): add optional OpenTelemetry instrumentation via nemo-lens (#2646) by @ahmadki
  • feat(rollout): agent_map override + pre-dispatch agent validation (#2710) by @kajalj22
  • feat(rollout): task_source resolution and run-level fan-out (#2713) by @kajalj22
  • feat(data): collate stamps task_source; datasets declarable on resources servers (#2717) by @kajalj22
  • feat: add switchyard_model server for router-backed evals with condition provenance (#2141) by @linj-glitch
  • fix(scicode): write generated code to a file instead of passing it via argv (#2804) by @jubick1337
  • [Unvalidated] Checkpoint in progress TerminalBench 2.1 benchmark; Update Super 3.5 evals container to include TB 2.1 (#2815) by @bxyu-nvidia
  • feat: nemo fabric integration (#2591) by @cmunley1
  • [Performance] Rollout collection _preprocess_rows_from_config avoid deepcopy (#2816) by @bxyu-nvidia
  • docs(fern): document rollout health checks (#2784) by @giuliolovisotto
  • SWE Agents Opencode update (#2817) by @sdevare-nv
  • fix(code_gen): make LCB mock sys.stdin.buffer a real byte stream (#2824) by @fgalko-oss
  • feat(swebench,opencode): inject CPU parallelism-cap env vars derived from the sandbox CPU limit (#2828) by @hemildesai
  • feat: update fabric configs and output (#2821) by @cmunley1
  • ci: enforce test coverage gate before merge, not just after (#2813) by @kajalj22
  • Update enroot readme (#2328) by @oyilmaz-nvidia
  • feat(sandbox): add E2B sandbox provider (#2301) by @max-sudolabs
  • fix(workplace-assistant): install wcwidth for SDG notebook (#2829) by @shashank3959
  • feat(observability): add per-rollout and per-run aggregate observability metrics (#2790) by @mlazuka
  • feat(token-id-capture): record served response IDs (#2675) by @ananthsub
  • ci: scheduled (every 4h) Gym CI with manual trigger and single gate (#2810) by @kajalj22
  • feat(token-id-capture): attribute terminal model calls (#2676) by @ananthsub
  • feat: terminus 2 agent integration (#2457) by @cmunley1
  • ci: AUT-2161 route external jobs through ephemeral v2 (#2818) by @svcnemo-autobot
  • Validate the local SEC sqlite index and its metadata sidecar at startup (#2833) by @ushnish-de
  • Record agent /run failures as row-associated failures (#2017) by @laszkiewiczp
  • Add repeat-level variability statistics to reward profiling (#2474) by @mpatel31415
  • feat: allow to swap agents when parsing the config (#2640) by @marta-sd
  • feat: add --agent-type CLI flag to enable agent swaping (#2641) by @marta-sd
  • feat: add safeguard for agent - resources server compatibility (#2661) by @marta-sd
  • fix: rename agent instance after swapping the type (#2757) by @marta-sd
  • fix(cli): add --all flag for gym env test (#2825) by @marta-sd
  • fix(cli): support top-level --json flag (#2820) by @marta-sd
  • feat (AgentIF): agentic instruction-following benchmark implementation (#2210) by @pachmu
  • fix: remove local openai related fix (#2839) by @sdevare-nv
  • docs: fix wrong Hydra override key in reverify-rollouts tutorial (#2842) by @mpatel31415
  • feat(token-id-capture): resolve each call's parent at request time (#2180) by @ananthsub
  • ci: AUT-2168 pin Slack rejection handling (#2834) by @svcnemo-autobot
  • feat(vllm-model): supply the previous call's exact training tokens (#2181) by @ananthsub
  • feat(data): per-server task_data schemas, gym env schema, collate validation (#2795) by @adil-a
  • feat(data): task_data schemas for all 108 resources servers (#2800) by @adil-a
  • release: set package version to 0.6.0rc0 (#2846) by @ananthsub
  • feat(benchmarks): explicit agent pin on benchmark datasets; scaffold generates the decoupled layout (2724) (#2851) by @svcnvidia-nemo-ci
  • perf: serialize non-streaming responses with orjson in model server (2867) (#2895) by @ananthsub
  • fix(responses-converter): strip strict from function tools before engine dispatch (2892) (#2899) by @svcnvidia-nemo-ci
  • docs: fix switchyard.mdx inaccuracies (nvbug 6674632) (2897) (#2900) by @svcnvidia-nemo-ci
  • fix(workplace-assistant): release session state after verification (2886) (#2902) by @svcnvidia-nemo-ci
  • perf: use httptools for HTTP parsing (2869) (#2894) by @svcnvidia-nemo-ci
  • fix: gym list benchmarks docs (2819) (#2916) by @svcnvidia-nemo-ci
  • docs: update external harness token capture guide (2349) (#2936) by @svcnvidia-nemo-ci
  • fix(cli): fail fast when gym eval run --split has no matching dataset (2911) (#2953) by @svcnvidia-nemo-ci
  • feat(cli): add strict mode for gym env validate command (2844) (#2922) by @svcnvidia-nemo-ci
  • fix(cli): allow repeated selector flags (2843) (#2955) by @svcnvidia-nemo-ci
  • feat(data): task_data validation gating: auto mode, misplaced-field check, repo drift test (#2827 cherry-pick into r0.6.0) (#2854) by @adil-a
  • revert: remove NeMo Fabric support from r0.6.0 (#3066) by @ananthsub
  • fix: preserve renamed config compatibility (3067) (#3071) by @svcnvidia-nemo-ci
  • docs: v0.6.0 release notes (2830) (#3074) by @svcnvidia-nemo-ci
  • fix(rollout-collection): carry rollout latency out-of-band (#3068) (#3075) by @ananthsub
  • Bump transformers, mlflow, hydra-core, sqlparse for CVE fixes (2982) (#3088) by @svcnvidia-nemo-ci
  • docs: add v0.6.0 README news (3073) (#3076) by @svcnvidia-nemo-ci
  • docs: Docker install path, Python 3.13.14 refs, enroot GPU toolkit (2725) (#3091) by @kajalj22
  • cp: docs(fern): add v0.5.1 version snapshot for GA release into main (2987) (#3099) by @svcnvidia-nemo-ci
  • docs: expand ATTRIBUTIONS.md to full 167-package inventory (2547) (#3092) by @kajalj22
  • docs: fix r0.6.0 documentation inconsistencies (3090) (#3110) by @svcnvidia-nemo-ci
  • cp: fix(docker): drop --ldconfig arg from enroot NVIDIA hook into main (2983) (#3120) by @svcnvidia-nemo-ci
  • security: bump nltk, mlflow, and GitPython for CVE remediation (#3119) by @kajalj22
  • docs(legal): PinchBench modified-component notice and NVIDIA disclaimer (2629) (#3093) by @kajalj22
  • release: drop pre-release tag for v0.6.0 (#3126) by @kajalj22
  • docs(fern): add v0.6.0 version snapshot for GA release (3125) (#3166) by @svcnvidia-nemo-ci