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