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

# Environment Protocol

> Required environment interface

## Python Protocol

```python theme={null}
class Environment(Protocol):
    def reset(self, goal: str) -> str: ...

    def step(self, action: str) -> (
        tuple[str, bool, bool] | Awaitable[tuple[str, bool, bool]]
    ): ...
```

Step return tuple is:

* `observation`
* `done`
* `success`
