Problem
simulation_runner.py line 353 performs arithmetic on time_config values read from JSON:
total_rounds = int(total_hours * 60 / minutes_per_round)
If the LLM writes "60" (string) instead of 60 (int) during config generation, this raises unsupported operand type(s) for /: 'int' and 'str' and returns a 500 on simulation start.
Fix
Cast total_simulation_hours and minutes_per_round to int() before arithmetic. One-line change, no behavior difference for well-formed configs.
Problem
simulation_runner.pyline 353 performs arithmetic ontime_configvalues read from JSON:If the LLM writes
"60"(string) instead of60(int) during config generation, this raisesunsupported operand type(s) for /: 'int' and 'str'and returns a 500 on simulation start.Fix
Cast
total_simulation_hoursandminutes_per_roundtoint()before arithmetic. One-line change, no behavior difference for well-formed configs.