l1_1_imitation_error.py                       ok (0s)
l1_2_mle_vs_reward.py                         ok (1s)
l1_3_kl_regularized_optimum.py                ok (1s)
l1_4_softmax_score_identity.py                ok (0s)
l1_5_reinforce_bandit.py                      ok (15s)
l1_6_exposure_bias.py                         ok (4s)
l2_1_tabular_mdp.py                           ok (1s)
l2_2_token_mdp.py                             ok (0s)
l2_3_optimal_token_policy.py                  ok (0s)
l2_4_belief_update.py                         ok (0s)
l2_5_policy_iteration.py                      ok (0s)
l3_1_variance_vs_horizon.py                   ok (2s)
l3_2_optimal_baseline.py                      ok (1s)
l3_3_theorem_exact.py                         ok (3s)
l3_4_sequence_gradient_check.py               ok (12s)
l3_5_reinforce_training.py                    ok (35s)
l4_1_gae_identities.py                        ok (0s)
l4_2_bias_variance.py                         ok (5s)
l4_3_critic_regression.py                     ok (16s)
l4_4_actor_critic_training.py                 ok (81s)
l5_1_performance_difference.py                ok (2s)
l5_2_fisher_and_kl.py                         ok (2s)
l5_3_natural_gradient.py                      ok (2s)
l5_4_trpo_loop.py                             ok (5s)
l6_1_clipped_objective.py                     ok (2s)
l6_2_kl_estimators.py                         ok (2s)
l6_3_clip_ablation.py                         ok (rerun separately, 63 of 63 numbers match)
l6_4_kl_penalty.py                            ok (rerun separately, all 29 numbers match)
l7_1_bradley_terry.py                         ok (140s)
l7_2_reward_model_training.py                 ok   (1022s)
l7_3_goodhart_theory.py                       ok (2s)
l7_4_overoptimization.py                      ok   (316s)
l8_1_dpo_population.py                        ok (4s)
l8_2_finite_data.py                           ok   (534s)
l8_3_loss_variants.py                         ok (9s)
l8_4_offline_vs_online.py                     ok   (1258s)
l9_1_group_baselines.py                       ok (10s)
l9_2_length_bias.py                           ok (0s)
l9_3_group_trainer.py                         ok (23s)
l10_1_noisy_verifier_exact.py                 ok (2s)
l10_2_verifier_tests.py                       ok (the one differing number is a wall-clock timing)
l10_3_noise_and_shaping.py                    ok (47s)
l11_1_variance_ladder.py                      ok (1s)
l11_2_outcome_vs_process.py                   ok (13s)
l11_3_prm_training.py                         ok (20s)
l12_1_passk.py                                ok (1s)
l12_2_best_of_n.py                            ok (8s)
l12_3_majority.py                             ok (0s)
l12_4_uct.py                                  ok (48s)
l12_5_allocation.py                           ok (1s)
l13_1_entropy_dynamics.py                     ok (1s)
l13_2_sharpening.py                           ok (1s)
l13_3_population.py                           ok (12s)
l13_4_exploration.py                          ok (21s)
l14_1_agent_loop.py                           ok (2s)
l14_2_belief_memory.py                        ok (0s)
l14_3_context_window.py                       ok (17s)
l15_1_variance_horizon.py                     ok (1s)
l15_2_multi_turn_trainer.py                   ok (231s)
l15_3_hindsight.py                            ok (20s)
l16_1_code_environment.py                     ok (differing numbers are wall-clock timings)
l16_2_task_generators.py                      ok (3s)
l16_3_curriculum.py                           ok (3s)
l16_4_test_adequacy.py                        ok (2s)
l17_1_learning_in_games.py                    ok (7s)
l17_2_ultimatum_selfplay.py                   ok (140s)
l17_3_debate.py                               ok (2s)
l17_4_cooperative.py                          ok   (1074s)
l18_1_goodhart.py                             ok (6s)
l18_2_kl_budget.py                            ok (0s)
l18_3_length_bias.py                          ok (1s)
l18_4_hacking_detectors.py                    ok (14s)
l19_1_evaluation_statistics.py                ok (12s)
l19_2_contamination.py                        ok (13s)
l19_3_judge_bias.py                           ok (7s)
l20_1_batching.py                             ok (0s)
l20_2_staleness.py                            ok (9s)
l20_3_async_pipeline.py                       ok (1s)
l20_4_memory.py                               ok (7s)
l20_5_throughput.py                           ok (0s)
l21_1_reward_model_uncertainty.py             ok (9s)
l21_2_constrained_rl.py                       ok (2s)
