Require validation preparation internally

This commit is contained in:
2026-11-05 13:54:06 +00:00
parent 2f0f5fa607
commit 1e122f0473
9 changed files with 25 additions and 36 deletions

View File

@@ -49,7 +49,7 @@ type Runner struct {
artifacts artifact.Reader
renderer prompt.Renderer
llm llm.Client
validator validate.Validator
validator validate.ValidationPreparer
repairer OutputRepairer
admitter RunAdmitter
defaultTransientRetries uint64
@@ -87,7 +87,7 @@ func NewRunner(
artifacts artifact.Reader,
renderer prompt.Renderer,
llmClient llm.Client,
validator validate.Validator,
validator validate.ValidationPreparer,
admitter RunAdmitter,
) *Runner {
return NewRunnerWithRepairer(
@@ -108,7 +108,7 @@ func NewRunnerWithRepairer(
artifacts artifact.Reader,
renderer prompt.Renderer,
llmClient llm.Client,
validator validate.Validator,
validator validate.ValidationPreparer,
repairer OutputRepairer,
admitter RunAdmitter,
defaultTransientRetries ...uint64,
@@ -409,11 +409,7 @@ func (r *Runner) prepareValidation(
if r.validator == nil {
return noOpPreparedValidation{contract: contract}, nil
}
preparer, ok := r.validator.(validate.ValidationPreparer)
if !ok {
return nil, fmt.Errorf("%w: validator does not support prepared validation", ErrValidation)
}
plan, err := preparer.PrepareValidation(ctx, contract)
plan, err := r.validator.PrepareValidation(ctx, contract)
if err != nil {
return nil, &OperationError{Category: ErrValidation, Cause: err}
}