Skip to content

Docs refresh after 0.7.0 #1296

Description

@sergiopaniego

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).
  • cli/templates/openenv_env/README.md: openenv push flags, sync/async client usage.
  • 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.
  • Tutorials: mcp-environment.md torchforge link; sft-warmup.md format-compliance sentence matches its table; end-to-end-walkthrough.md drift explanation matches GRPO's default beta=0.0; wordle-grpo.md uses dtype=; openenv-tutorial.md anchor and TOC labels.
  • 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.
  • envs/harbor_env/README.md: base_path: /web and 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 main TrainingTrace producer, 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.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.

No activity

Activity on this issue will appear here.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions