You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
OpenEnv has grown a lot in the last few releases: Harbor, typed training captures (TrainingTrace), RFC 005 harnesses, production mode, new runtime providers and many new environments. The docs grew with it, and some pages haven't caught up yet. This issue tracks a pass over the README, guides, tutorials and environment READMEs to bring them in line with 0.7.0, so new users find the current way of doing things first.
PRs can reference this issue and tick items as they land. Each group is meant to fit in one PR, but splitting further is fine.
1. Align snippets and commands with the current API
README.md: echo example reads observation.metadata["message"]; CLI list matches the implemented commands (openenv serve isn't available yet, openenv harbor, collect, skills, catalog, discover are); test path in the Contributing section; runtime providers point to the providers guide.
getting_started/environment-builder.md: install command (pip install openenv or git+https://...), openenv push flags (--tag and --directory aren't options, the directory is positional), Dockerfile in sync with the CLI template (or link it), generated file names (<name>_environment.py, from <name> import ...).
getting_started/contributing-envs.md: example Space ids (openenv/echo_env, openenv/coding_env, openenv/wordle), openenv.yaml.
contributing.md: dev setup matches CONTRIBUTING.md (uv sync, PYTHONPATH=src:envs uv run pytest).
guides/concepts.md and guides/auto-discovery.md: openenv.yaml example matches the CLI template; one client per execution mode (async or .sync()); environment layout tree; AutoAction.from_hub example; package names in install commands.
guides/task-api.md: client base URL helper (base_url).
guides/mcp-environment-lifecycle.md: MCPToolClient talks to /mcp, so list_tools()/call_tool() don't go through step() or rewards; step(CallToolAction) is the path for training. Mention the 30 s default tool timeout and timeout_s.
guides/runtime-providers.md: echo example fields; mark Kubernetes as planned outside the providers table.
guides/customizing-web-ui.md: custom_tab_name, custom_tab_primary, show_default_tab, title_override; the UI mounts with ENABLE_WEB_INTERFACE=true; current Gradio docs link.
Environment READMEs: client examples read fields from result.observation (finqa, connect4, kernrl); websearch uses its client class WebSearchEnv; finqa example query lists columns; browsergym image ghcr.io/huggingface/openenv-browsergym-env; snake/wildfire paths (envs/...); openapp/finrl client class names.
2. Training entry points
guides/rl-integration.md: cover both TRL paths: environment_factory with GRPOTrainer (white-box), and AsyncGRPOTrainer + HarnessRolloutWorker through Harbor (loop-owning), with TrainingTrace / fetch_training_trace(). Link the Harbor environment page.
README.md, docs/source/index.md, getting-started.md: a "Train an agent" step pointing to the TRL tutorial and to Harbor; novita and harbor in the extras table.
A tutorial for training through Harbor (based on TRL's examples/async_grpo_harbor), under Learn > Harnesses, linked from the tutorials index and the OpenCode/Pi deprecation notes.
environments.md: Harbor in the main grid near the top; deprecated environments at the end.
guides/runtime-providers.md and getting-started.md: HFSandboxProvider.
guides/customizing-web-ui.md: Hugging Face sign-in on Docker Spaces (Gradio needs SYSTEM=spaces, and its OAuth routes live under /web).
3. Tutorials to refresh
tutorials/rl-training-2048.md: build on TRL's examples/grpo_2048 with environment_factory, so the tutorial trains end to end; current imports and Space URL.
tutorials/browsergym-harness.md and examples/browsergym_harness.py: move to the current TRL API (environment_factory, as in TRL's examples/grpo_browsergym); a title that reflects what it covers, plus a short note on the three meanings of "harness" in the docs (session runtime, Harbor, RFC 005).
examples/OpenEnv_Tutorial.ipynb: regenerate from openenv-tutorial.md.
Getting Started notebooks (parts 1-3): connect with base_url="https://openenv-openspiel-env.hf.space".
tutorials/end-to-end-walkthrough.md: environment-owned reward (get_reward()) and optional dataset; environment pool wording.
tutorials/sft-warmup.md: one collection API across page and notebook; default loss filtering; current teacher model names.
4. Structure and length
Fold guides/mcp-environment-lifecycle.md into guides/simulation-vs-production.md, and keep the combined page short.
Fold guides/connecting.md into guides/runtime-providers.md.
guides/catalog-discovery.md: keep usage (build, discover, inspect, discovery.json), move the spec details to RFC 011. Trim guides/auto-discovery.md.
One "build an environment" walkthrough across concepts.md, first-environment.md and environment-builder.md.
guides/harbor-provider-qualification.md: nav title "Harbor Qualification", next to the Harbor page; keep how qualification works, link the dated matrix.
tutorials/openenv-tutorial.md: shorter, focused on setup, the local server and the environment skeleton.
README.md: shorter Architecture / Project Structure sections with links to the docs; link rfcs/ instead of listing RFCs.
Shared blocks (governance, experimental note) in one place.
_toctree.yml: Core Concepts first; Getting Started pages together; same titles in the sidebar, the tutorials index and page headings.
Environment READMEs: link the CLI docs instead of repeating the openenv push options (openspiel, maze, reasoning_gym, textarena, websearch); keep README content user-facing (openapp, repl); shorter wildfire and unity; grid_world as an environment README; a client example, tools and reward for calendar; one name for the reward section.
5. Spaces and deployment
scripts/prepare_hf_deployment.sh (create_readme): generated Space cards use the env's client class and its *.hf.space URL.
Redeploy the openenv org Spaces on a current release.
Front matter for chess, dipg_safety, finrl, git, kernrl, sumo_rl; named colors for atari and chat.
environments.md buttons point to running Spaces (snake, dipg, grid_world, browsergym → openenv/browsergym_env); carla and chess Space links.
Link the existing openenv/* Spaces from their READMEs (echo, coding, textarena, repl, tbench2, sumo, terminus).
openenv/wordle Space: depend on current openenv-core.
OpenEnv has grown a lot in the last few releases: Harbor, typed training captures (
TrainingTrace), RFC 005 harnesses, production mode, new runtime providers and many new environments. The docs grew with it, and some pages haven't caught up yet. This issue tracks a pass over the README, guides, tutorials and environment READMEs to bring them in line with 0.7.0, so new users find the current way of doing things first.PRs can reference this issue and tick items as they land. Each group is meant to fit in one PR, but splitting further is fine.
1. Align snippets and commands with the current API
README.md: echo example readsobservation.metadata["message"]; CLI list matches the implemented commands (openenv serveisn't available yet,openenv harbor,collect,skills,catalog,discoverare); test path in the Contributing section; runtime providers point to the providers guide.getting_started/environment-builder.md: install command (pip install openenvorgit+https://...),openenv pushflags (--tagand--directoryaren't options, the directory is positional), Dockerfile in sync with the CLI template (or link it), generated file names (<name>_environment.py,from <name> import ...).getting_started/contributing-envs.md: example Space ids (openenv/echo_env,openenv/coding_env,openenv/wordle),openenv.yaml.contributing.md: dev setup matchesCONTRIBUTING.md(uv sync,PYTHONPATH=src:envs uv run pytest).cli/templates/openenv_env/README.md:openenv pushflags, sync/async client usage.guides/concepts.mdandguides/auto-discovery.md:openenv.yamlexample matches the CLI template; one client per execution mode (async or.sync()); environment layout tree;AutoAction.from_hubexample; package names in install commands.guides/task-api.md: client base URL helper (base_url).guides/mcp-environment-lifecycle.md:MCPToolClienttalks to/mcp, solist_tools()/call_tool()don't go throughstep()or rewards;step(CallToolAction)is the path for training. Mention the 30 s default tool timeout andtimeout_s.guides/runtime-providers.md: echo example fields; mark Kubernetes as planned outside the providers table.guides/customizing-web-ui.md:custom_tab_name,custom_tab_primary,show_default_tab,title_override; the UI mounts withENABLE_WEB_INTERFACE=true; current Gradio docs link.mcp-environment.mdtorchforge link;sft-warmup.mdformat-compliance sentence matches its table;end-to-end-walkthrough.mddrift explanation matches GRPO's defaultbeta=0.0;wordle-grpo.mdusesdtype=;openenv-tutorial.mdanchor and TOC labels.result.observation(finqa, connect4, kernrl); websearch uses its client classWebSearchEnv; finqa example query lists columns; browsergym imageghcr.io/huggingface/openenv-browsergym-env; snake/wildfire paths (envs/...); openapp/finrl client class names.2. Training entry points
guides/rl-integration.md: cover both TRL paths:environment_factorywithGRPOTrainer(white-box), andAsyncGRPOTrainer+HarnessRolloutWorkerthrough Harbor (loop-owning), withTrainingTrace/fetch_training_trace(). Link the Harbor environment page.README.md,docs/source/index.md,getting-started.md: a "Train an agent" step pointing to the TRL tutorial and to Harbor;novitaandharborin the extras table.examples/async_grpo_harbor), under Learn > Harnesses, linked from the tutorials index and the OpenCode/Pi deprecation notes.environments.md: Harbor in the main grid near the top; deprecated environments at the end.envs/harbor_env/README.md:base_path: /weband tags in the front matter; Quick Start before Prerequisites (TRL links are in Link the TRL example and the multi-harness article from harbor_env #1293).src/openenv/core/harness/README.md: RFC 005 (HarnessEnvironment,AgenticHarnessAdapter,WS /harness); Harbor as the mainTrainingTraceproducer, OpenCode marked deprecated.reference/cli.md:openenv harbor,catalog,discover.reference/core.md:AutoEnv/AutoAction, the harness API (HarnessEnvironment,AgenticHarnessAdapter,ResourceSessionFactory,TrainingTrace),InspectAIHarness,HFSandboxProvider.guides/simulation-vs-production.md:create_app(..., mode="production"),OPENENV_MODE,WS /harness(tutorial in Add a recipe that evaluates Claude Code on τ²-bench (RFC 005) #1291).guides/runtime-providers.mdandgetting-started.md:HFSandboxProvider.guides/customizing-web-ui.md: Hugging Face sign-in on Docker Spaces (Gradio needsSYSTEM=spaces, and its OAuth routes live under/web).3. Tutorials to refresh
tutorials/rl-training-2048.md: build on TRL'sexamples/grpo_2048withenvironment_factory, so the tutorial trains end to end; current imports and Space URL.tutorials/browsergym-harness.mdandexamples/browsergym_harness.py: move to the current TRL API (environment_factory, as in TRL'sexamples/grpo_browsergym); a title that reflects what it covers, plus a short note on the three meanings of "harness" in the docs (session runtime, Harbor, RFC 005).examples/OpenEnv_Tutorial.ipynb: regenerate fromopenenv-tutorial.md.base_url="https://openenv-openspiel-env.hf.space".tutorials/end-to-end-walkthrough.md: environment-owned reward (get_reward()) and optional dataset; environment pool wording.tutorials/sft-warmup.md: one collection API across page and notebook; default loss filtering; current teacher model names.4. Structure and length
guides/mcp-environment-lifecycle.mdintoguides/simulation-vs-production.md, and keep the combined page short.guides/connecting.mdintoguides/runtime-providers.md.guides/catalog-discovery.md: keep usage (build, discover, inspect,discovery.json), move the spec details to RFC 011. Trimguides/auto-discovery.md.concepts.md,first-environment.mdandenvironment-builder.md.guides/harbor-provider-qualification.md: nav title "Harbor Qualification", next to the Harbor page; keep how qualification works, link the dated matrix.tutorials/openenv-tutorial.md: shorter, focused on setup, the local server and the environment skeleton.README.md: shorter Architecture / Project Structure sections with links to the docs; linkrfcs/instead of listing RFCs._toctree.yml: Core Concepts first; Getting Started pages together; same titles in the sidebar, the tutorials index and page headings.openenv pushoptions (openspiel, maze, reasoning_gym, textarena, websearch); keep README content user-facing (openapp, repl); shorter wildfire and unity; grid_world as an environment README; a client example, tools and reward for calendar; one name for the reward section.5. Spaces and deployment
scripts/prepare_hf_deployment.sh(create_readme): generated Space cards use the env's client class and its*.hf.spaceURL.openenvorg Spaces on a current release.environments.mdbuttons point to running Spaces (snake, dipg, grid_world, browsergym →openenv/browsergym_env); carla and chess Space links.openenv/*Spaces from their READMEs (echo, coding, textarena, repl, tbench2, sumo, terminus).openenv/wordleSpace: depend on currentopenenv-core.