Shared type specifications for GEPA.
Summary
Types
Program candidate - maps component names to their text implementations
Data identifier (generic, can be int, string, etc.)
Data instance (user-defined)
Pareto front per validation example
Program index in state
Rollout output (user-defined program output)
Score (higher is better)
Sparse validation scores
Trajectory (user-defined execution trace)
Types
Program candidate - maps component names to their text implementations
@type data_id() :: term()
Data identifier (generic, can be int, string, etc.)
@type data_inst() :: term()
Data instance (user-defined)
@type pareto_fronts() :: %{required(data_id()) => MapSet.t(program_idx())}
Pareto front per validation example
@type program_idx() :: non_neg_integer()
Program index in state
@type rollout_output() :: term()
Rollout output (user-defined program output)
@type score() :: float()
Score (higher is better)
Sparse validation scores
@type trajectory() :: term()
Trajectory (user-defined execution trace)