diff --git a/training/eval_history.json b/training/eval_history.json index 42002631..fa9e947d 100644 --- a/training/eval_history.json +++ b/training/eval_history.json @@ -1089,5 +1089,32 @@ "team_1": 46 }, "win_rate_a": 0.36 + }, + { + "timestamp": "2026-08-25T07:35:28+00:00", + "model_a": "/home/jcreek/ai-training/CosmicClash/Game/bots/20260824-1052-gen5-s5-intercepts.json", + "model_b": "/home/jcreek/ai-training/CosmicClash/Game/bots/20260816-2126-gen5-s4-handling-retry2.json", + "seed": 1, + "episodes": 100, + "wins_a": 45, + "wins_b": 32, + "draws": 23, + "side_results": { + "a_team_0": { + "wins_a": 22, + "wins_b": 16, + "draws": 12 + }, + "a_team_1": { + "wins_a": 23, + "wins_b": 16, + "draws": 11 + } + }, + "physical_team_wins": { + "team_0": 38, + "team_1": 39 + }, + "win_rate_a": 0.45 } ] diff --git a/training/generation5_state.json b/training/generation5_state.json index beed3868..900b62ed 100644 --- a/training/generation5_state.json +++ b/training/generation5_state.json @@ -1,6 +1,6 @@ { "stage_index": 1, - "attempt": 0, + "attempt": 1, "status": "in_progress", "log": [ { @@ -754,11 +754,92 @@ } ], "decision": "fail" + }, + { + "stage_index": 1, + "stage_number": 5, + "stage_name": "intercepts", + "experiment": "20260824-1052-gen5-s5-intercepts", + "attempt": 0, + "telemetry_tail": { + "rollout/air_touch_fraction": 0.00025999999418854715, + "rollout/airborne_fraction": 0.3494572382569313, + "rollout/ball_above_air_touch_fraction": 0.44360085755586626, + "rollout/ball_mean_altitude": 4.1907234663963315, + "rollout/ball_peak_altitude": 5.405460600852966, + "rollout/ep_len_mean": 109.09664013671875, + "rollout/ep_rew_mean": 19.020949184417724, + "rollout/forward_motion_fraction": 0.50440152323246, + "rollout/goal_rate": 0.7694799978733062, + "rollout/grounded_upright_fraction": 0.1997999999076128, + "rollout/mean_altitude": 3.2880454597473143, + "rollout/productive_air_touch_episode_fraction": 3.999999910593033e-05, + "rollout/productive_air_touch_fraction": 3.999999910593033e-05, + "rollout/upright_fraction": 0.7768516182899475, + "rollout/vertical_thrust_mean": 0.09507499811029993 + }, + "telemetry_failures": [ + "rollout/productive_air_touch_episode_fraction=0.0000 < 0.0200" + ], + "evaluation_goal_failures": [], + "side_balance_failures": [], + "eval": { + "timestamp": "2026-08-25T07:35:28+00:00", + "model_a": "/home/jcreek/ai-training/CosmicClash/Game/bots/20260824-1052-gen5-s5-intercepts.json", + "model_b": "/home/jcreek/ai-training/CosmicClash/Game/bots/20260816-2126-gen5-s4-handling-retry2.json", + "seed": 1, + "episodes": 100, + "wins_a": 45, + "wins_b": 32, + "draws": 23, + "side_results": { + "a_team_0": { + "wins_a": 22, + "wins_b": 16, + "draws": 12 + }, + "a_team_1": { + "wins_a": 23, + "wins_b": 16, + "draws": 11 + } + }, + "physical_team_wins": { + "team_0": 38, + "team_1": 39 + }, + "win_rate_a": 0.45 + }, + "evals": [ + { + "timestamp": "2026-08-25T07:35:28+00:00", + "model_a": "/home/jcreek/ai-training/CosmicClash/Game/bots/20260824-1052-gen5-s5-intercepts.json", + "model_b": "/home/jcreek/ai-training/CosmicClash/Game/bots/20260816-2126-gen5-s4-handling-retry2.json", + "seed": 1, + "episodes": 100, + "wins_a": 45, + "wins_b": 32, + "draws": 23, + "side_results": { + "a_team_0": { + "wins_a": 22, + "wins_b": 16, + "draws": 12 + }, + "a_team_1": { + "wins_a": 23, + "wins_b": 16, + "draws": 11 + } + }, + "physical_team_wins": { + "team_0": 38, + "team_1": 39 + }, + "win_rate_a": 0.45 + } + ], + "decision": "fail" } - ], - "resume_override": { - "stage_index": 1, - "experiment": "20260823-1734-gen5-s5-intercepts-retry2", - "reason": "Round 10 (2026-08-24): Stage 5 reopened after nine attempts blocked on a gate that could not register the behaviour it measured. productive_air_touch_fraction divided by total touches (so Stage 4's ground game diluted it), AIR_TOUCH_HEIGHT 5.0 was ~2x the measured mean episode ball peak of 2.4m, and the aggregate entropy controller hid a collapsed thrust_y head that left the policy commanding 0.03 vertical thrust against the 0.408 needed to hover. Metric, bar + drill band, and per-head exploration floor all changed. Unlike Round 9 this DOES change the reward function -- AIR_TOUCH_HEIGHT also gates air_touch_bonus_weight's payout -- but the changed term has never once fired (productive_air_touch_fraction exactly 0.0 for nine attempts), so there is no learned value estimate attached to it, while retry2's ground handling and scoring are untouched and are what is being kept." - } + ] }