# tinker_cookbook.rl.FailFast

## _class_ [**tinker_cookbook.rl.FailFast**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/rl/rollout_strategy.py#L92)( _[RolloutStrategy](https://tinker-docs.thinkingmachines-lab/tinker-cookbook/api-reference/rl/rolloutstrategy/)_)

Default strategy: any trajectory error crashes the group.

Produces identical behaviour to the original `asyncio.gather(...)`
path — no error tolerance, no overhead.

### [**execute**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/rl/rollout_strategy.py#L99)( _env_group_builder_, _policy_)

Run all rollouts concurrently, raising immediately on any failure.

**Parameters:**

- [**env_group_builder**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/rl/rollout_strategy.py#L101) ( _[EnvGroupBuilder](https://tinker-docs.thinkingmachines.ai/cookbook/api-reference/rl/envgroupbuilder/)_) – Builder used to create the environments for this rollout group.
- [**policy**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/rl/rollout_strategy.py#L102) ( _[TokenCompleter](https://tinker-docs.thinkingmachines.ai/cookbook/api-reference/completers/tokencompleter/)_) – The policy used to generate actions.

**Returns:** _RolloutResult_ – Result with all trajectories and an empty error list.

**Raises:**

- Exception: Any exception raised by a single rollout propagates
immediately, cancelling the remaining rollouts.

## Referenced by

- [tinker_cookbook.rl.InitialObservationOverflow](https://tinker-docs.thinkingmachines.ai/cookbook/api-reference/rl/initialobservationoverflow/)
