A real 5000-run sweep through Docker found the evolutionary optimizer's best genome reporting efficiency=387%. Root cause: efficiency was computed as exit_kinetic_energy / capacitor_energy_in, but exit kinetic energy includes the fixed initial_v_mps launch push (a modeling assumption, not something paid for by the capacitors) -- for a light enough projectile, that free energy dominates and the ratio blows past 1. Fixed by using kinetic_energy_delta (the energy the coils actually added) instead of absolute exit KE. The per-stage energy identity (energy_in = remaining_cap + dissipated + kinetic_delta) guarantees kinetic_delta <= energy_in, so this metric can never exceed 1.0 -- provably, not by luck. Added a regression test with a light projectile + large initial velocity reproducing the exact failure mode. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
5.0 KiB
5.0 KiB