> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tuneplane.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Environments

> The agent RL environments training can reference, and what each one declares.

An Agent Environment is where an agent executes actions and receives observations.
It may run beside training or in a remote service. A taskset supplies work and a
verifier judges completion; neither is the execution environment itself.

For independently published Harbor tasks and evaluation preparation, see
[Tasksets and Agent evaluations](https://docs.tuneplane.ai/en/console/tasksets.md).

This page lists environment versions you may reference. The current publication
format associates a taskset and verifier with an environment manifest. That
packaging does not make these the same concept. The detail page separates
execution settings from associated tasks and verification.

![TunePlane environments page](https://mintcdn.com/starforge/GatXR2rI5-_Vm4_H/images/console/environments.png?fit=max\&auto=format\&n=GatXR2rI5-_Vm4_H\&q=85\&s=b2fa613f63291321754feee12bc1769d)

Agent environments and what each manifest declares.

## What you see

| Field | What it tells you |
| - | - |
| **Interaction protocol** | OpenEnv or NeMo Gym |
| **Deployment** | Inside the job, an existing remote service, or an executor-hosted container |
| **Verified by** | A rubric, a plugin entrypoint, or an external service |
| **Harness** | The plugin that drives the model through it, where the protocol needs one |
| **Runs at** | For a remote environment, the host it answers on |
| **Code isolation requirement** | Whether additional code isolation is required; not the identity or readiness of a provider |
| **Versions** | Every immutable version, and which are public |

> [!WARNING]
>
> The taskset is never shown, and no route returns it. What a business considers hard is often more
> revealing than its training data, so a job references an environment and receives task content only
> inside the approved runtime.

## What you can do

* **Reference one in a job** — copy its `<owner>/<name>@<version>` and pass `--environment`.
* **Publish a version** — `tp env push`, see [authoring environments](https://docs.tuneplane.ai/en/extend/environments.md).
* **Register a running service** — `tp env runner register`, for an OpenEnv service you already
  operate.

## Supported combinations

| Protocol | Deployment | Who starts it |
| - | - | - |
| OpenEnv | `local` | The job starts a service from its mounted task data |
| NeMo Gym | `local` | NeMo Gym launches the declared harness |
| OpenEnv | `remote` | An existing service, resolved by endpoint, Fleet or runner |
| OpenEnv | `container` | A supporting executor hosts the image beside the job |

Manifest schema `tuneplane/environment/v1` requires both fields. Remote and container deployments own their task data;
the page does not offer local taskset inspection or selection for them.

## Environment quality

Select an immutable version to inspect **Environment quality**. The owner and administrators can
see acceptance fixtures and frozen-policy measurements reported by that owner's jobs. These are
producer declarations, not platform certification or a replacement for Fleet readiness checks.

* Acceptance shows known correct/incorrect answers and verifier execution. A sandbox-required
  manifest additionally requires allowed/blocked network access and reference-isolation fixtures.
  Missing checks and execution errors remain **unverified**.
* Suitability separates unmeasured tasks, incomplete/invalid trials, all-success, mixed and
  all-failure outcomes. Source coverage always includes the full declared split. Retries count
  once, using the last retry. The 95% Wilson interval describes the scored observations; it does
  not establish intrinsic task difficulty, learning value or cross-model comparability.
* A training measurement with passing, current acceptance can **Preview selection** and
  **Publish derived version**. Keep mixed outcomes or all fully scored tasks, set a minimum of
  two repetitions, and optionally retain exploration tasks from every remaining source. Fractions
  round up per source. Invalid or unmeasured tasks are never eligible for this selection.

The preview states the kept/excluded training counts, per-source selection, and preserved evaluation
count. Changing a control invalidates the preview. Publication creates an immutable version with the
parent, measurement job/report, checkpoint, protocol digest and selection rule recorded as lineage.
Every evaluation row is preserved; evaluation measurements cannot select training tasks. Existing
jobs retain their original version pins. No prompt, reference answer or taskset download is exposed.

This release supports sealed local tasksets up to 32 MiB and reports up to 10,000 trial records,
with 1–64 planned repetitions. The page lists the latest 50 reports and pages task metadata in
batches of 50. Remote services without a stored taskset need their own measurement adapter and
cannot use this derivation workflow. See [producing quality evidence](https://docs.tuneplane.ai/en/extend/environments.md#quality-evidence).

## Framework, protocol and provider

Harbor organizes agent task execution and evaluation into trials, using task
packages, agent implementations, sandbox backends and verifiers. OpenEnv provides
an environment interaction framework built around reset, step and state, including
hosting tools. E2B is a sandbox provider with its own lifecycle APIs. These are not
three interchangeable values of one protocol field.

A Harbor evaluation can use its native sandbox backend without OpenEnv. An OpenEnv
training or evaluation loop can connect to an existing environment without Harbor.
Combining them requires an explicit adapter and one owner for episode creation,
reset, timeout and cleanup. TunePlane's generic HTTP `POST /execute` adapter does
not directly implement the native E2B API.

See [Harbor concepts](https://docs.harborframework.com/core-concepts),
[OpenEnv](https://github.com/huggingface/OpenEnv) and
[E2B sandbox APIs](https://docs.e2b.dev/quickstart).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.