Validate¶
validate performs a method-specific candidate check before canonical
evaluation and gate. It is optional and does not replace the fixed evaluator.
Contract¶
The result contains an acceptance boolean, reason, and artifact paths.
Variants¶
| Variant | Validation rule |
|---|---|
minibatch_improvement |
rerun a GEPA child on the exact parent minibatch and apply an improvement criterion |
hyperagents |
apply the fixed HyperAgents validation contract |
minibatch_improvement¶
operators:
validate:
variant: minibatch_improvement
criterion: strict
n_concurrent: 4
verifier_timeout_multiplier: 1
max_retries: 1
timeout_s: 3600
The validator reads the parent's rollout cases, runs the child on the same task names, rejects incomplete or infrastructure-invalid comparisons, and writes:
runs/gen-N/validate/comparison.json
runs/gen-N/validate/parent-cases.json
runs/gen-N/validate/child-cases.json
runs/gen-N/validate/child-eval/
The child replay accepts the same Harbor reliability controls as rollout,
including n_concurrent, timeout multipliers, and max_retries. If otherwise
healthy verifier jobs regularly reach their task-declared timeout, increase
verifier_timeout_multiplier on both rollout and validate; lowering
n_concurrent can also reduce host contention. These controls change execution
headroom, not the minibatch comparison criterion. The parent and child settings
should remain symmetric.
Use the criterion declared by the method, such as strict or
non_decreasing; changing it changes the experiment policy.
hyperagents¶
The HyperAgents validator applies its fixed candidate check and retains its compile/check log beneath:
If no validate block is present, the driver proceeds from mutation (and any
configured novelty) to canonical evaluation.