Skip to content

feat(swebench-pro): configure Hermes for SWE-bench Pro - #3722

Merged
yaoyu-33 merged 1 commit into
ananthsub/episode-orchestration-10-rollout-routingfrom
ananthsub/episode-orchestration-prototype
Sep 30, 2026
Merged

yaoyu-33 merged 1 commit into
ananthsub/episode-orchestration-10-rollout-routingfrom
ananthsub/episode-orchestration-prototype

Conversation

@ananthsub

@ananthsub ananthsub commented Sep 28, 2026 •

Copy link
Copy Markdown
Contributor

What does this PR do?

Adds the configuration that runs SWE-bench Pro with Hermes through an Environment Server:

  • benchmarks/swebench/pro/hermes.yaml, alongside the existing opencode.yaml. It runs SWE-bench Pro rows through single_agent_turn_legacy, with the SWE-bench Pro Resources Server preparing the task sandbox and Hermes working inside it.
  • resources_servers/swebench_pro/configs/swebench_pro.yaml lists hermes_agent among its allowed agents, so the Hermes configuration composes the same Resources Server config as the other SWE-bench Pro agents.

Rows reach the Environment Server by their agent, as with opencode.yaml: one Environment Server fronts the Hermes agent in this configuration.

Simple Agent sessions and the example Resources Server's sessions moved to their own PR, #3784.

Stack position

Part 3 of 3. Previous: #3721. This is the top of the stack.

No issue is linked because this is one layer of the Environment Server stack.

Validation

  • gym env resolve --config benchmarks/swebench/pro/hermes.yaml ... resolves to the Hermes agent, the SWE-bench Pro Resources Server, and the single_agent_turn_legacy Environment Server, with that Environment Server as the only one fronting the Hermes agent.
  • pytest tests/unit_tests/test_task_data.py tests/unit_tests/test_global_config.py tests/unit_tests/test_benchmarks.py -q: 572 passed.
  • pre-commit run on the changed files.

Rollouts

Real Hermes + SWE-bench Pro rollouts with gpt-5.6-sol ran through single_agent_turn_legacy on this stack, with Hermes calling the Model Server directly from the task sandbox. The task resolved with reward 1.0 (300 of 300 tests) in two runs and passed 299 of 300 tests in two others, with empty failure sidecars and no leftover sandboxes. Those runs selected the Environment Server explicitly; this configuration reaches the same Environment Server by agent routing.

Compatibility and benchmark impact

Configuration only. Existing SWE-bench Pro configurations are unchanged apart from the added allowed agent.

@ananthsub
ananthsub added this pull request to stack #3723 September 28, 2026 15:38
@nemo-automation-bot
nemo-automation-bot Bot requested review from a team September 28, 2026 15:38
@ananthsub
ananthsub force-pushed the ananthsub/episode-orchestration-prototype branch from e956be3 to c6a59f2 Compare September 28, 2026 15:41
@ananthsub
ananthsub removed this pull request from stack #3723 September 28, 2026 15:41
@ananthsub
ananthsub added this pull request to stack #3725 September 28, 2026 15:43
@yaoyu-33 yaoyu-33 added area:env-infra Shared environment framework, lifecycle, registry, scaffolding, and validation complexity:high Cross-component or shared-contract change with a large review surface feature New capabilities, enhancements, or enablement work needs-review PR is ready for code review and waiting on a reviewer labels Sep 28, 2026
@ananthsub
ananthsub force-pushed the ananthsub/episode-orchestration-prototype branch from c6a59f2 to 4ccda82 Compare September 28, 2026 15:48
@ananthsub
ananthsub force-pushed the ananthsub/episode-orchestration-prototype branch from 4ccda82 to d92a1e3 Compare September 28, 2026 16:03
@ananthsub
ananthsub force-pushed the ananthsub/episode-orchestration-prototype branch from 4878020 to 4834972 Compare September 28, 2026 19:43
@ananthsub
ananthsub force-pushed the ananthsub/episode-orchestration-prototype branch from 4834972 to 41565c3 Compare September 28, 2026 19:54
@ananthsub
ananthsub force-pushed the ananthsub/episode-orchestration-prototype branch from 41565c3 to 693ba6f Compare September 28, 2026 20:12
@ananthsub
ananthsub force-pushed the ananthsub/episode-orchestration-prototype branch from 693ba6f to 09cc1a9 Compare September 28, 2026 20:38

@yaoyu-33 yaoyu-33 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM for this configuration-only change. Hermes budget-exhaustion handling and session lifecycle hardening will follow in #3554; those follow-ups are non-blocking for this recipe wiring.

Adds benchmarks/swebench/pro/hermes.yaml, which runs SWE-bench Pro rows through single_agent_turn_legacy with
Hermes executing in the task sandbox, alongside the existing opencode.yaml. The configuration composes the
single swebench_pro.yaml Resources Server config, which now lists hermes_agent among its allowed agents.

Signed-off-by: Ananth Subramaniam <ansubramania@nvidia.com>
@github-actions

Copy link
Copy Markdown
Contributor

πŸ”„ Merge queue validation started! You can track the progress here: https://github.com/NVIDIA-NeMo/Gym/actions/runs/36650451687

This branch was previously deployed

1 inactive deployment
public β€” bd235dba Deployed Sep 29, 2026 by copy-pr-bot[bot] via release / finalize / notify #3997
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:env-infra Shared environment framework, lifecycle, registry, scaffolding, and validation complexity:high Cross-component or shared-contract change with a large review surface feature New capabilities, enhancements, or enablement work needs-review PR is ready for code review and waiting on a reviewer sla:triage-overdue Review assignment is over the one-business-day SLA

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants