Main optimization engine for GEPA.
Orchestrates the optimization loop: propose → evaluate → accept/reject → repeat.
Summary
Functions
@spec run(map()) :: {:ok, GEPA.State.t()}
Run optimization until stop condition met.
Parameters
config: Configuration map with all necessary settings
Returns
{:ok, final_state} on success
@spec run_iteration(GEPA.State.t(), map()) :: {:cont, GEPA.State.t(), map(), boolean(), term()} | {:stop, GEPA.State.t()}
Run a single optimization iteration.
Returns {:cont, new_state} to continue or {:stop, state} to stop.