diff options
Diffstat (limited to 'ep_run/casc_eq_train.py')
| -rw-r--r-- | ep_run/casc_eq_train.py | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/ep_run/casc_eq_train.py b/ep_run/casc_eq_train.py index 2ad44ac..b378c07 100644 --- a/ep_run/casc_eq_train.py +++ b/ep_run/casc_eq_train.py @@ -523,9 +523,12 @@ def ep_step(x, y): # (large-displacement converging relax) pass as legal: 600 consecutive legal # verdicts while beta climbed x392 into damaging gradients (fw72m_simple 35.4-36k). res_s = ddp_max_scalar(GOV.get('res', 0.0)) - rho_s = ddp_max_scalar(GOV.get('rho') or 0.0) - if ((not math.isfinite(res_s)) or (not math.isfinite(rho_s)) or - res_s > 0.02 or rho_s > args.beta_cap_rho): + # SV2-VALIDATION FIX: res>0.02 ALONE is the wall (NaN illegal, worst rank rules). + # rho is demoted to telemetry — standalone rho>0.9 at noise-floor residuals reads + # ~1 (the documented v1-cap starvation bug; Codex's OR resurrected it, the SV2 + # arm caught it: 6-halving storm every step, beta pinned at 4.7e-5). The 35k + # runaway had res >> 0.02 with rho < 0.9 — res-alone provably plugs that hole. + if (not math.isfinite(res_s)) or res_s > 0.02: return False return True _ok0 = _legal(gdrift) |
