GEPA.Types (GEPA v0.3.0)

Copy Markdown View Source

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

candidate()

@type candidate() :: %{required(String.t()) => String.t()}

Program candidate - maps component names to their text implementations

data_id()

@type data_id() :: term()

Data identifier (generic, can be int, string, etc.)

data_inst()

@type data_inst() :: term()

Data instance (user-defined)

pareto_fronts()

@type pareto_fronts() :: %{required(data_id()) => MapSet.t(program_idx())}

Pareto front per validation example

program_idx()

@type program_idx() :: non_neg_integer()

Program index in state

rollout_output()

@type rollout_output() :: term()

Rollout output (user-defined program output)

score()

@type score() :: float()

Score (higher is better)

sparse_scores()

@type sparse_scores() :: %{required(data_id()) => score()}

Sparse validation scores

trajectory()

@type trajectory() :: term()

Trajectory (user-defined execution trace)