-record(simulation, { name :: binary(), user_prompt :: binary(), system_prompt :: binary(), steps :: list(glean@testing@simulation:simulation_step()), max_steps :: integer(), final_assertions :: list(fun((glean@testing@simulation:simulation_state()) -> {ok, nil} | {error, glean@testing@simulation:assertion_error()})) }).