# tinker_cookbook.rl.StepResult

## _class_ [**tinker_cookbook.rl.StepResult**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/rl/types.py#L122)()

Result returned by `Env.step`.

**Fields:**

- [**reward**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/rl/types.py#L138) ( _float_) – Immediate reward for this step.
- [**episode_done**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/rl/types.py#L140) ( _bool_) – Whether the episode has ended.
- [**next_observation**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/rl/types.py#L142) ( _Observation_) – Observation for the next step (or final observation if episode_done).
- [**next_stop_condition**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/rl/types.py#L144) ( _StopCondition_) – Stop condition for the next generation.
- [**metrics**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/rl/types.py#L146) ( _Metrics_, default: `field(default_factory=dict)`) – Numeric values aggregated and reported in training logs (e.g., timing, counts).
- [**logs**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/rl/types.py#L148) ( _Logs_, default: `field(default_factory=dict)`) – Diagnostic info for display/debugging tools (not aggregated like metrics).

## Referenced by

- [tinker_cookbook.distillation.PromptOnlyEnv.step](https://tinker-docs.thinkingmachines.ai/cookbook/api-reference/distillation/promptonlyenv/#promptonlyenv-step)
- [tinker_cookbook.rl.Env.step](https://tinker-docs.thinking-machines.ai/cookbook/api-reference/rl/env/#env-step)
- [tinker_cookbook.rl.EnvFromMessageEnv.step](https://tinker-docs.thinking-machines.ai/cookbook/api-reference/rl/envfrommessageenv/#envfrommessageenv-step)
- [tinker_cookbook.rl.ProblemEnv.step](https://tinker-docs.thinking-machines-ai/cookbook/api-reference/rl/problemenv/#problemenv-step)
