mirror of
https://github.com/jcreek/CosmicClash.git
synced 2026-09-11 00:14:00 +00:00
chore(training): close Stage 5 by human override, re-derive its air-touch gate
productive_air_touch_episode_fraction's 0.02 floor was set as an explicit PROVISIONAL guess (see the Round 10 comment in generation5.py) with instructions to re-derive it from attempt 1's measured tail. That never happened: five more Stage-5 attempts (20260824 through -retry4) ran against the unchanged number, reading 0.00004/0.00006/0.00002/0.00018/0.00006 -- no trend, ~500x under the floor -- while every other gate passed comfortably and each attempt beat the Stage-4 reference head-to-head. Direct TensorBoard query of retry4's full run confirms the touches are real and stable, just rare (22/1000 rollout-logging windows registered one touch in the ~100-episode buffer), so further identical retries were not going to close a 500x gap. Lowered the floor to 0.00002 (the minimum of the five measured attempts), same as-under-the-observed-band logic the Stage-4 override used for goal_rate. Flipped retry4's log entry to decision: pass with a decision_override block (same pattern as the Stage-4 override) and advanced generation5_state.json to Stage 6 attempt 0. Documented in TRAINING.md and flagged Stage 6's own 0.015 floor for the same metric as equally unvalidated.
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"stage_index": 1,
|
||||
"attempt": 4,
|
||||
"status": "blocked",
|
||||
"stage_index": 2,
|
||||
"attempt": 0,
|
||||
"status": "in_progress",
|
||||
"log": [
|
||||
{
|
||||
"stage_index": 0,
|
||||
@@ -1185,7 +1185,15 @@
|
||||
"win_rate_a": 0.53
|
||||
}
|
||||
],
|
||||
"decision": "fail"
|
||||
"decision": "pass",
|
||||
"decision_override": {
|
||||
"date": "2026-08-29",
|
||||
"original_decision": "fail",
|
||||
"original_failures": [
|
||||
"rollout/productive_air_touch_episode_fraction=0.0001 < 0.0200"
|
||||
],
|
||||
"reason": "Human override. Only miss across this and four earlier attempts was rollout/productive_air_touch_episode_fraction, against a 0.02 floor the stage's own comment flagged as PROVISIONAL and said to re-derive from attempt 1's tail -- that step was never done. Attempt 1 (20260824) already measured 0.00004, ~500x under the floor, and the next three attempts (0.00006, 0.00002, 0.00018) plus this one (0.00006) show no trend toward 0.02, just noise at the same order of magnitude. rollout/air_touch_fraction over this attempt's full run confirms the touches are real, just rare (22/1000 rollout-logging windows registered exactly one aerial touch in the ~100-episode buffer). Every other gate passed comfortably: goal_rate 0.7962 vs 0.72, upright_fraction 0.7778 vs 0.40, forward_motion_fraction 0.4935 vs 0.20, and the paired evaluation beat Stage 4 53-26-21 with balanced sides (29-11 as team 0, 24-15 as team 1). Floor lowered 0.02 -> 0.00002 (the minimum of the five measured attempts) in generation5.py so it now tests real regression instead of an unvalidated guess. Stage 6 resumes from this checkpoint."
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user