Versions in this module Expand all Collapse all v0 v0.1.0 Jun 14, 2026 Changes in this version + func WriteBaseline(path string, report Report) error + type Aggregate struct + Mean float64 + NumCases int + NumErrors int + PassRate float64 + ScorerName string + type Case struct + Expect any + ID string + Input any + Tags []string + type CaseResult struct + CaseID string + Error string + Scores map[string]Score + type Dataset []Case + func LoadJSONL(path string) (Dataset, error) + type ExactMatchScorer struct + func (ExactMatchScorer) Name() string + func (ExactMatchScorer) Score(_ context.Context, c Case, run ScoredRun) (Score, error) + type Gate struct + Baseline string + MaxRegression float64 + MinMean float64 + type JudgeRunFunc func(ctx context.Context, rubric string, c Case, run ScoredRun) (Score, error) + type LLMJudgeScorer struct + func (j *LLMJudgeScorer) Name() string + func (j *LLMJudgeScorer) Score(ctx context.Context, c Case, run ScoredRun) (Score, error) + type RegressionCase struct + CaseID string + Delta float64 + NewScore float64 + OldScore float64 + ScorerName string + type RegressionReport struct + Improvements []RegressionCase + MeanDelta map[string]float64 + Regressions []RegressionCase + func Compare(old, new Report) RegressionReport + type Report struct + Aggregates []Aggregate + Cases []CaseResult + GeneratedAt time.Time + SuiteName string + TotalDuration time.Duration + func ReportFromJSON(data []byte) (Report, error) + func RunSuite(t *testing.T, suite Suite, gate Gate) Report + func (r Report) MarshalJSON() ([]byte, error) + type RubricFunc func(c Case, run ScoredRun) Score + type RunFunc func(ctx context.Context, c Case) (output any, err error) + type Score struct + Details string + Label string + Value float64 + type ScoredRun struct + ActualJSON json.RawMessage + ActualOutput any + CaseID string + Error error + type Scorer interface + Name func() string + Score func(ctx context.Context, c Case, run ScoredRun) (Score, error) + var ExactMatch Scorer = ExactMatchScorer{} + var Structural Scorer = StructuralScorer{} + func NewLLMJudge(name, rubric string, judgeFunc JudgeRunFunc) Scorer + func NewRubricFunc(name string, fn RubricFunc) Scorer + type StructuralScorer struct + func (StructuralScorer) Name() string + func (StructuralScorer) Score(_ context.Context, c Case, run ScoredRun) (Score, error) + type Suite struct + Dataset Dataset + Name string + Parallelism int + Run RunFunc + Scorers []Scorer + func (s Suite) Execute(ctx context.Context) (Report, error)