Skip to content

Train harnesses through Harbor: drop the standalone opencode example - #7457

Open
sergiopaniego wants to merge 1 commit into
mainfrom
docs-harness-harbor
Open

sergiopaniego wants to merge 1 commit into
mainfrom
docs-harness-harbor

Conversation

@sergiopaniego

@sergiopaniego sergiopaniego commented Sep 30, 2026 •

Copy link
Copy Markdown
Member

What does this PR do?

The loop-owning (black-box) harness path now goes through Harbor on OpenEnv: every agent Harbor installs (mini-swe-agent, opencode, claude-code, ...) is trained with the same HarnessRolloutWorker, picked with --harness. Since #6947, TRL has two ways to train opencode (async_grpo_opencode and async_grpo_harbor --harness opencode). Harbor is the path we want to recommend, so this drops the standalone one and moves the docs over.

Changes:

  • Remove examples/async_grpo_opencode/ (async_grpo_opencode.py, opencode_hf_sandbox.py).
  • docs/source/openenv.md: rewrite "Training on harnesses" around Harbor (how the capture works, wiring with partial(HarborSessionFactory, ...), server and vLLM requirements). It follows the API AsyncGRPO: train OpenEnv harnesses from validated token captures #6947 shipped: the validated TrainingTrace from OpenEnv, with token eligibility in its masks. The examples list at the top no longer links async_grpo_opencode.
  • docs/source/example_overview.md: drop the async_grpo_opencode row, and point the async_grpo_harbor row's Harbor link to the OpenEnv docs, since the TRL harbor.md page it links is removed in Remove the experimental Harbor integration (superseded by OpenEnv) #6948.

Follow-ups outside this repo: the muse-glimmer blog post links examples/async_grpo_opencode/async_grpo_opencode.py, and the community blog on harness training runs on the old path. Both will be updated to point to Harbor.

Before submitting

  • This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
  • Did you read the contributor guideline, Pull Request section?
  • Was this discussed/approved via a GitHub issue? Please add a link to it if that's the case.
  • Did you make sure to update the documentation with your changes?
  • Did you write any new necessary tests?

AI writing disclosure

We welcome the use of AI tools to help with contributions. For transparency and to help us improve our review process, please indicate the level of AI involvement in this PR.

  • No AI usage: the PR was written entirely by a human.
  • AI-assisted: some parts were suggested or improved by AI, but the PR was written and reviewed by a human.
  • AI-generated: the PR was mostly or fully generated by an AI tool.

Who can review?

@adithya-s-k @qgallouedec

🤖 Generated with Claude Code


Note

Low Risk
Documentation and example removal only; no library API or training runtime changes.

Overview
Removes the standalone async_grpo_opencode example (local subprocess and HF sandbox scripts) so loop-owning harness training is documented and demonstrated only through async_grpo_harbor, where agents like opencode are selected via --harness on the OpenEnv Harbor server.

Docs: The examples index drops the opencode row and points Harbor links at OpenEnv docs. openenv.md rewrites “Training on harnesses” around Harbor (HarborSessionFactory, openenv harbor serve, capture proxy flow, MAX_CONCURRENT_ENVS, updated wiring snippet) and drops opencode-specific setup from the ready-to-use list.

Reviewed by Cursor Bugbot for commit eb25cd7. Bugbot is set up for automated code reviews on this repo. Configure here.

@qgallouedec

Copy link
Copy Markdown
Member

Thanks, just waiting on #6947 to merge to review this in details

Harbor (served through OpenEnv) now covers every coding-agent harness,
opencode included, so the standalone async_grpo_opencode example is removed.
The "Training on harnesses" section of the OpenEnv guide is rewritten around
Harbor and the validated TrainingTrace from #6947, and the examples overview
loses the opencode row.
@bot-ci-comment

bot-ci-comment Bot commented Oct 1, 2026

Copy link
Copy Markdown

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.

@sergiopaniego

Copy link
Copy Markdown
Member Author

Thanks, just waiting on #6947 to merge to review this in details

#6947 's now merged

@qgallouedec qgallouedec left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Thanks, lgtm! One nit: the token-eligibility paragraph still says "verify() remains independent of token eligibility", the rest of the section now says "the task's verifier".

This branch has not been deployed

No deployments
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.

2 participants