JuliusBrussee/caveman · error
system runner is required
Error message
system runner is required
What it means
Error "system runner is required" thrown in JuliusBrussee/caveman.
Source
Thrown at engine/evals/harness.go:199
func RunManifest(m Manifest, read func(name string) ([]byte, error)) (Report, error) {
return runManifest(context.Background(), m, read, nil)
}
// RunManifestWithQuality is RunManifest plus the LLM-in-the-loop quality layer.
// The runner is injected so CI can use a deterministic local runner while release
// jobs can call a real gateway/model.
func RunManifestWithQuality(ctx context.Context, m Manifest, read func(name string) ([]byte, error), opts QualityOptions) (Report, error) {
if opts.Runner == nil {
return Report{}, fmt.Errorf("quality runner is required")
}
return runManifest(ctx, m, read, &opts)
}
// RunManifestWithSystem runs a caller-supplied system-under-test through the
// same graders and optional quality layer as the built-in engine.
func RunManifestWithSystem(ctx context.Context, m Manifest, read func(name string) ([]byte, error), system TransformRunner, opts *QualityOptions) (Report, error) {
if system == nil {
return Report{}, fmt.Errorf("system runner is required")
}
if opts != nil && opts.Runner == nil {
return Report{}, fmt.Errorf("quality runner is required")
}
return runManifestWithSystem(ctx, m, read, system, opts)
}
func runManifest(ctx context.Context, m Manifest, read func(name string) ([]byte, error), quality *QualityOptions) (Report, error) {
store, err := ccr.OpenMemory()
if err != nil {
return Report{}, fmt.Errorf("open recovery store: %w", err)
}
defer store.Close()
eng := engine.New(store, nil)
return runManifestWithSystem(ctx, m, read, engineSystem{eng: eng}, quality)
}
func runManifestWithSystem(ctx context.Context, m Manifest, read func(name string) ([]byte, error), system TransformRunner, quality *QualityOptions) (Report, error) {View on GitHub (pinned to 27d5a3981a)
Solutions
- Provide a system runner to the eval harness.
When it happens
Trigger: Thrown at engine/evals/harness.go:199 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of JuliusBrussee/caveman@27d5a3981a (2026-08-15).
Data as JSON: /api/errors/1772bc786c09603d.
Report an issue: GitHub.