class GEPA::Strategies::CurrentBestCandidateSelector
def ensure_lengths!(state)
def ensure_lengths!(state) return if state.per_program_tracked_scores.length == state.program_candidates.length raise ArgumentError, 'per_program_tracked_scores and program_candidates length mismatch' end
def initialize(telemetry: nil)
def initialize(telemetry: nil) @telemetry = telemetry end
def select_candidate_idx(state)
def select_candidate_idx(state) ensure_lengths!(state) with_span('gepa.strategies.candidate_selector', strategy: 'current_best') do GEPA::Utils::Pareto.idxmax(state.per_program_tracked_scores) end end
def telemetry
def telemetry @telemetry || GEPA::Telemetry end
def with_span(operation, attrs = {}, &block)
def with_span(operation, attrs = {}, &block) telemetry.with_span(operation, attrs, &block) end