Skip to content

Remove the experimental swe-agent examples - #1918

Merged
Shi-Dong merged 1 commit into
mainfrom
shi/260728-remove-experimental-swe-agent
Jul 28, 2026
Merged

Remove the experimental swe-agent examples#1918
Shi-Dong merged 1 commit into
mainfrom
shi/260728-remove-experimental-swe-agent

Conversation

@Shi-Dong

Copy link
Copy Markdown
Contributor

Summary

Removes all three swe-agent examples under examples/experimental/ and repoints every doc reference at examples/swe-agent.

  • examples/experimental/swe-agent — the original Nemo-Gym-based generation. Last substantive change was 2026-03-25, and it was the only thing in the repo using git submodules.
  • examples/experimental/swe-agent-v2 — the Harbor recipe that was promoted to examples/swe-agent in Add examples/swe-agent: GLM-4.7-Flash agentic training with Harbor #1741.
  • examples/experimental/swe-agent-v2-amd — a near-copy of the above for AMD.

.gitmodules is deleted as well: its only two entries were the submodules belonging to the first directory, both pointing at personal forks, so the file is empty once that tree is gone. Clones no longer need --recurse-submodules.

Why

examples/experimental/swe-agent-v2 was described in the docs as "the maintained recipe" for Harbor training, but it lived under a directory whose README says the contents are "not fully verified, only for experimental use". #1741 promoted it to examples/swe-agent, so keeping the experimental copies means two divergent copies of the same recipe and docs that send readers to the one we no longer want them to use.

The other two directories are not superseded so much as finished: the Nemo-Gym example targets an environment the repo no longer integrates with, and the AMD variant is a fork of the promoted tree.

What is not carried over

examples/swe-agent covers the GLM-4.7-Flash Harbor path (sync + fully-async launchers). These files existed only in the removed trees and have no equivalent there, so this PR does drop them:

  • two GLM-4.7 reasoning launchers (sync and async) — a different model configuration from the Flash agentic recipe
  • a training recipe targeting an internally-hosted Harbor server
  • a standalone agent-server implementation from the AMD variant

All of it stays in git history and can be restored or promoted separately if any of it is still wanted. Flagging it explicitly because it is easy to miss in a deletion-only diff.

Docs updated

docs/user-guide/harbor.md, docs/user-guide/agentic-chat-template.md and docs/user-guide/rollout-endpoints.md all pointed at the experimental path; they now point at examples/swe-agent. One docstring cross-reference in the OpenEnv example was updated for the same reason.

Test plan

  • git grep finds zero remaining references to the removed paths anywhere in the tree
  • .gitmodules is empty after the submodule paths are removed, and no gitlink entries remain in the index
  • examples/swe-agent is untouched by this PR
  • uvx ruff check passes on the one modified Python file
  • Docs build / link check in CI

…-agent

The maintained Harbor recipe was promoted to examples/swe-agent in #1741, so
the three copies under examples/experimental/ are now either duplicates of it
or dead code, and the docs pointed readers at a directory we no longer want
them to use.

experimental/swe-agent was the original Nemo-Gym-based generation (last real
change 2026-03-25) and carried the repo's only two git submodules, both
pointing at personal forks; removing it empties .gitmodules, so that file goes
too. experimental/swe-agent-v2 is the tree that was promoted, and
experimental/swe-agent-v2-amd was a near-copy of it for AMD.

Every doc reference now points at examples/swe-agent.
@gemini-code-assist

Copy link
Copy Markdown
Contributor

Caution

The consumer version of Gemini Code Assist on GitHub has been sunset. All code review activity has officially ceased.

@guapisolo guapisolo left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

LGTM. time to say goodbye to old files

@Shi-Dong
Shi-Dong merged commit 7e436d0 into main Jul 28, 2026
40 checks passed
@Shi-Dong
Shi-Dong deleted the shi/260728-remove-experimental-swe-agent branch July 28, 2026 21:53
nblintao added a commit that referenced this pull request Jul 29, 2026
…ion TITO chain

New examples/experimental/nemo-gym recipe integrating NVIDIA-NeMo/Gym as
an external environment ecosystem at the agent-function layer, the same
shape as the Harbor and OpenEnv connectors: the session server records
every chat-completions turn losslessly, and a thin agent function POSTs
each sample to the sandbox-backed mini_swe_agent_2 agent with
policy_base_url set to the session URL (the per-request override
proposed in NVIDIA-NeMo/Gym#2166; the README points at that PR's branch
until it merges).

- nemogym_agent_function.py: one POST /run per sample; sampling kwargs
  mapped onto responses_create_params (temperature / top_p /
  max_output_tokens), the only channel mini_swe_agent_2 reads; no miles
  imports so it loads on CPU-only machines
- nemogym_generate.py: reward hook reading the environment's grade
- eval_nemogym_via_api.py + tests/: no-GPU validation — offline unit
  tests of the /run contract, a golden scan (gold patch through the
  sandbox + SWE-bench harness, no model), and an API-policy scan that
  drives real episodes through the same policy_base_url override
- run.py: the validated GPU launcher (requires
  MILES_EXPERIMENTAL_ROLLOUT_REFACTOR=1, which gates the dynamic
  registration of the agentic flags)
- user-guide docs: nemo-gym page, environments tables (agent-function
  connector row; NeMo-Gym's own sandbox provider API supports Daytona)

Validated end-to-end: offline contract tests; a golden scan scoring 1.0
in the official SWE-bench container; a DeepSeek API-policy episode; and
a 4x H200 GRPO training smoke (Qwen3-4B-Instruct-2507, SWE-bench
Verified) whose episodes ran in real task containers with the official
harness grading them and rewards flowing back into training. Known
limitations are documented in the README: the official swebench package
lacks eval specs for several SWE-Gym repos (train on SWE-bench-family
instances until that gap closes), and Qwen3 templates trip the
tito_session_mismatch soft diagnostic (empty <think> skeleton on
re-rendered assistant history; engine-recorded tokens stay lossless).

This supersedes the fork-based NeMo-Gym integration removed in #1918:
same ecosystem, now driven through upstream NVIDIA-NeMo/Gym with no
submodules and lossless token recording.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants