Official-compatible merge proposer.
Merge is scheduled after an accepted reflective mutation. The proposer finds two Pareto-front programs with a useful common ancestor, merges component changes relative to that ancestor, and evaluates the merged candidate on a balanced validation subsample. Counter consumption and final acceptance are handled by the engine, matching the Python implementation.
Summary
Types
@type t() :: %GEPA.Proposer.Merge{ evaluator: function(), last_iter_found_new_program: boolean(), max_merge_invocations: non_neg_integer(), merges_due: non_neg_integer(), merges_performed: {[tuple()], [tuple()]}, seed: integer(), total_merges_tested: non_neg_integer(), use_merge: boolean(), val_overlap_floor: pos_integer(), valset: GEPA.DataLoader.t() }