# 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.thinkingmachines.ai/cookbook/api-reference/rl/env/#env-step) - [tinker_cookbook.rl.EnvFromMessageEnv.step](https://tinker-docs.thinkingmachines.ai/cookbook/api-reference/rl/envfrommessageenv/#envfrommessageenv-step) - [tinker_cookbook.rl.ProblemEnv.step](https://tinker-docs.thinkingmachines.ai/cookbook/api-reference/rl/problemenv/#problemenv-step)