GEPAMergeConfig

data class GEPAMergeConfig(val enabled: Boolean = false, val maxMergeInvocations: Int = 5, val maxMergeAttempts: Int = 10, val maxFindSharedAncestorAttempts: Int = 10, val valSetSubsampleSize: Int = 5)

Runtime controls for GEPA's optional merge step.

Merging is experimental: tests reach its proposal step and no further, it has never run end to end, and it may diverge from GEPA's original implementation more significantly.

A merge combines the module one lineage changed with the module the other changed, so it needs an agent with at least two optimizable modules. Enabling it for a single-module agent does nothing.

Constructors

Link copied to clipboard
constructor(enabled: Boolean = false, maxMergeInvocations: Int = 5, maxMergeAttempts: Int = 10, maxFindSharedAncestorAttempts: Int = 10, valSetSubsampleSize: Int = 5)

Properties

Link copied to clipboard
val enabled: Boolean = false

Whether the optimizer should attempt candidate merges.

Link copied to clipboard

Maximum number of candidate-pair samples used while searching for parents with a shared ancestor.

Link copied to clipboard

Maximum number of merge proposals to try for one due merge.

Link copied to clipboard

Maximum number of accepted merges during one optimization run.

Link copied to clipboard

Number of validation examples used to decide whether to accept a merge.