Versions in this module Expand all Collapse all v0 v0.5.0 May 24, 2026 Changes in this version + type CategoricalAgreement struct + ConfusionMatrix map[string]int + ExactAgreement float64 + SampleSize int + func ComputeCategoricalAgreement(results1, results2 []CategoryResult) *CategoricalAgreement type Category + func (c *Category) WithLikert(config *LikertConfig) *Category + func (c *Category) WithLikert5(anchors []LikertAnchor) *Category type CategoryResult + NumericScore *float64 + func NewCategoryResultFromLikert(category string, likertScore int, config *LikertConfig, reasoning string) *CategoryResult + func NewCategoryResultWithNumeric(category string, score ScoreValue, numericScore float64, reasoning string) *CategoryResult + func (cr *CategoryResult) GetNumericScore() float64 + func (cr *CategoryResult) HasNumericScore() bool + func (cr *CategoryResult) SetNumericScore(score float64) *CategoryResult + type IRRMetrics struct + AdjacentAgreement float64 + ExactAgreement float64 + MeanAbsoluteDifference float64 + PearsonCorrelation float64 + SampleSize int + func ComputeIRR(pairs []RatingPair) *IRRMetrics + func ComputeIRRFromResults(results1, results2 []CategoryResult) *IRRMetrics + type LikertAnchor struct + Description string + Label string + Value int + func StandardLikert5Anchors() []LikertAnchor + type LikertConfig struct + Anchors []LikertAnchor + Max int + Min int + PartialThreshold *int + PassThreshold *int + type RatingPair struct + Category string + ItemID string + Rater1 float64 + Rater2 float64 type Scale + LikertConfig *LikertConfig type ScaleType + const ScaleTypeLikert type ScoreValue + func LikertToCategorical(score int, config *LikertConfig) ScoreValue v0.4.0 May 23, 2026 Changes in this version + func AllRequiredPassing(results []CategoryResult, rubric *RubricSet) bool type AggregationMethod + const AggregationOptimistic + const AggregationUnanimous + type Category struct + Description string + EvaluationPrompt string + Examples *CategoryExamples + ID string + Name string + Required bool + Scale Scale + Weight float64 + func NewCategory(id, name, description string) *Category + func (c *Category) AddOption(value, label string, criteria ...string) *Category + func (c *Category) GetOptionForValue(value string) *ScaleOption + func (c *Category) SetEvaluationPrompt(prompt string) *Category + func (c *Category) SetExamples(examples *CategoryExamples) *Category + func (c *Category) SetRequired(required bool) *Category + func (c *Category) SetWeight(weight float64) *Category + func (c *Category) WithBinary(passCriteria, failCriteria []string) *Category + func (c *Category) WithChecklist(required, optional []string, threshold *ChecklistThreshold) *Category + func (c *Category) WithPassPartialFail(passCriteria, partialCriteria, failCriteria []string) *Category + type CategoryExamples struct + Fail *Example + Partial *Example + Pass *Example + type CategoryResult struct + Category string + ChecklistResults *ChecklistResults + Evidence []string + Findings []Finding + Reasoning string + Score ScoreValue + func NewCategoryResult(category string, score ScoreValue, reasoning string) *CategoryResult + func (cr *CategoryResult) AddEvidence(evidence ...string) *CategoryResult + func (cr *CategoryResult) AddFinding(f Finding) *CategoryResult + func (cr *CategoryResult) IsPassing() bool + func (cr *CategoryResult) SetChecklistResults(results *ChecklistResults) *CategoryResult + type CategoryResultCounts struct + Fail int + Partial int + Pass int + Total int + func CountResults(results []CategoryResult) CategoryResultCounts + func (c CategoryResultCounts) AllPassing() bool + type ChecklistResults struct + OptionalMissing []string + OptionalPresent []string + RequiredMissing []string + RequiredPresent []string + type ChecklistThreshold struct + Optional int + Required string type Decision + CategoryCounts CategoryResultCounts type EvaluationReport + OverallDecision string + RubricVersion string + func (r *EvaluationReport) AddCategoryResult(cr CategoryResult) + func (r *EvaluationReport) GetCategoryResult(categoryID string) *CategoryResult + func (r *EvaluationReport) SetPassCriteria(criteria PassCriteria) + type EvaluationType string + const EvaluationTypeAnalytic + const EvaluationTypeHolistic + type Example struct + Excerpt string + Reasoning string + type FindingLimits struct + Critical int + High int + Low int + Medium int + type JudgeCategoricalScore struct + JudgeID string + Score ScoreValue type JudgeDisagreement + UniqueScores int type MultiJudgeResult + AggregatedCategories []CategoryResult type PassCriteria + MaxFindings *FindingLimits + MinCategoriesPassing string + type RubricMetadata struct + Author string + BasedOn []string + CreatedAt string + type RubricPassCriteria struct + MaxFindings *FindingLimits + MinCategoriesPassing string type RubricSet + Categories []Category + EvaluationType EvaluationType + JudgePromptTemplate string + Metadata *RubricMetadata + PassCriteria RubricPassCriteria + func NewRubricSet(id, name, version string) *RubricSet + func (rs *RubricSet) AddCategory(cat Category) *RubricSet + func (rs *RubricSet) GetCategory(id string) *Category + func (rs *RubricSet) GetRequiredCategories() []Category + func (rs *RubricSet) SetJudgePrompt(template string) *RubricSet + func (rs *RubricSet) SetMetadata(meta *RubricMetadata) *RubricSet + func (rs *RubricSet) SetPassCriteria(criteria RubricPassCriteria) *RubricSet + func (rs *RubricSet) ToJSON() ([]byte, error) + func (rs *RubricSet) Validate() []string + type Scale struct + OptionalItems []string + Options []ScaleOption + PassingThreshold *ChecklistThreshold + RequiredItems []string + Type ScaleType + type ScaleOption struct + Criteria []string + Label string + Value string + type ScaleType string + const ScaleTypeBinary + const ScaleTypeCategorical + const ScaleTypeChecklist + type ScoreValue string + const ScoreFail + const ScorePartial + const ScorePass + func (s ScoreValue) Icon() string + func (s ScoreValue) IsFailing() bool + func (s ScoreValue) IsPartial() bool + func (s ScoreValue) IsPassing() bool v0.3.1 May 9, 2026 v0.3.0 Mar 1, 2026 Changes in this version + type ActionItem struct + Action string + Category string + Effort string + Owner string + Severity Severity + type AggregationMethod string + const AggregationConservative + const AggregationMajority + const AggregationMean + const AggregationMedian + const AggregationWeighted + type Annotation struct + AnnotatorID string + AnnotatorType string + Explanation string + Label string + Name string + Score float64 + type CategoryScore struct + Category string + Evidence string + Findings []Finding + Justification string + MaxScore float64 + Score float64 + Status ScoreStatus + Weight float64 + func NewCategoryScore(category string, weight, score float64, justification string) CategoryScore + func (c *CategoryScore) ComputeStatus() ScoreStatus + func (c *CategoryScore) ComputeWeightedScore() float64 + type Decision struct + FindingCounts FindingCounts + Passed bool + Rationale string + Status DecisionStatus + WeightedScore float64 + func Evaluate(findings []Finding, weightedScore float64, criteria PassCriteria) Decision + type DecisionStatus string + const DecisionConditional + const DecisionFail + const DecisionHumanReview + const DecisionPass + type EvaluationReport struct + Categories []CategoryScore + Decision Decision + Findings []Finding + Judge *JudgeMetadata + Metadata ReportMetadata + NextSteps NextSteps + PassCriteria PassCriteria + Reference *ReferenceData + ReviewType string + RubricID string + Schema string + Summary string + WeightedScore float64 + func NewEvaluationReport(reviewType, document string) *EvaluationReport + func (r *EvaluationReport) AddCategory(cs CategoryScore) + func (r *EvaluationReport) AddFinding(f Finding) + func (r *EvaluationReport) ComputeWeightedScore() float64 + func (r *EvaluationReport) Evaluate() Decision + func (r *EvaluationReport) Finalize(rerunCommand string) + func (r *EvaluationReport) GenerateNextSteps(rerunCommand string) + func (r *EvaluationReport) GenerateSummary() string + func (r *EvaluationReport) SetJudge(judge *JudgeMetadata) + func (r *EvaluationReport) SetReference(ref *ReferenceData) + func (r *EvaluationReport) SetRubric(rubricID string) + type Finding struct + Category string + Description string + Effort string + Evidence string + ID string + Owner string + Recommendation string + Severity Severity + Title string + func (f *Finding) IsBlocking() bool + type FindingCounts struct + Critical int + High int + Info int + Low int + Medium int + Total int + func CountFindings(findings []Finding) FindingCounts + func (c FindingCounts) BlockingCount() int + func (c FindingCounts) HasBlocking() bool + type JudgeDisagreement struct + Category string + Range float64 + Scores []JudgeScore + StandardDeviation float64 + type JudgeMetadata struct + EvaluatedAt time.Time + JudgeID string + Latency time.Duration + MaxTokens int + Model string + ModelProvider string + ModelVersion string + PromptTemplate string + PromptVersion string + RubricID string + RubricVersion string + SpanID string + SystemPrompt string + Temperature float64 + TokensUsed *TokenUsage + TraceID string + func NewJudgeMetadata(model string) *JudgeMetadata + func (j *JudgeMetadata) SetLatency(d time.Duration) + func (j *JudgeMetadata) WithPrompt(template, version string) *JudgeMetadata + func (j *JudgeMetadata) WithProvider(provider string) *JudgeMetadata + func (j *JudgeMetadata) WithRubric(id, version string) *JudgeMetadata + func (j *JudgeMetadata) WithTemperature(temp float64) *JudgeMetadata + func (j *JudgeMetadata) WithTokenUsage(input, output int) *JudgeMetadata + func (j *JudgeMetadata) WithTrace(traceID, spanID string) *JudgeMetadata + type JudgeScore struct + JudgeID string + Score float64 + type MultiJudgeResult struct + AggregatedScore float64 + AggregationMethod AggregationMethod + Agreement float64 + ConsolidatedDecision Decision + ConsolidatedFindings []Finding + Disagreements []JudgeDisagreement + Evaluations []*EvaluationReport + Judges []*JudgeMetadata + func AggregateEvaluations(evaluations []*EvaluationReport, method AggregationMethod) *MultiJudgeResult + type NextSteps struct + Immediate []ActionItem + Recommended []ActionItem + RerunCommand string + type PairwiseCategoryScore struct + Category string + Margin float64 + Reasoning string + Winner PairwiseWinner + type PairwiseComparison struct + CategoryScores []PairwiseCategoryScore + Confidence float64 + CreatedAt time.Time + ID string + Input string + Judge *JudgeMetadata + Metadata map[string]any + OutputA string + OutputB string + Reasoning string + Winner PairwiseWinner + func NewPairwiseComparison(input, outputA, outputB string) *PairwiseComparison + func (p *PairwiseComparison) AddCategoryScore(category string, winner PairwiseWinner, reasoning string, margin float64) + func (p *PairwiseComparison) SetWinner(winner PairwiseWinner, reasoning string, confidence float64) + func (p *PairwiseComparison) SwappedComparison() *PairwiseComparison + type PairwiseResult struct + Comparisons []PairwiseComparison + Confidence float64 + OverallWinner PairwiseWinner + TieRate float64 + WinRateA float64 + WinRateB float64 + func ComputePairwiseResult(comparisons []PairwiseComparison) *PairwiseResult + type PairwiseWinner string + const WinnerA + const WinnerB + const WinnerTie + const WinnerUncertain + type PassCriteria struct + MaxCritical int + MaxHigh int + MaxMedium int + MinScore float64 + func DefaultPassCriteria() PassCriteria + func StrictPassCriteria() PassCriteria + type ReferenceData struct + Annotations []Annotation + Context []string + ExpectedOutput string + ExpectedOutputs []string + ID string + Input string + Metadata map[string]any + Source string + Tags []string + func NewReferenceData(input, expectedOutput string) *ReferenceData + func (r *ReferenceData) WithAnnotation(name string, score float64, annotatorID string) *ReferenceData + func (r *ReferenceData) WithContext(ctx ...string) *ReferenceData + type ReferenceDataset struct + Description string + ID string + Items []ReferenceData + Metadata map[string]any + Name string + Tags []string + Version string + func NewReferenceDataset(id, name string) *ReferenceDataset + func (d *ReferenceDataset) AddItem(item ReferenceData) + func (d *ReferenceDataset) GetByID(id string) *ReferenceData + type ReportMetadata struct + Document string + DocumentID string + DocumentTitle string + DocumentVersion string + GeneratedAt time.Time + GeneratedBy string + ReviewerID string + type Rubric struct + Anchors []ScoreAnchor + Category string + Description string + Examples []RubricExample + func NewRubric(category, description string) *Rubric + func (r *Rubric) AddAnchor(score float64, label, description string, criteria ...string) *Rubric + func (r *Rubric) AddExample(score float64, output, explanation string) *Rubric + func (r *Rubric) AddRangeAnchor(minScore, maxScore float64, label, description string, criteria ...string) *Rubric + func (r *Rubric) GetAnchorForScore(score float64) *ScoreAnchor + type RubricExample struct + Explanation string + Input string + Output string + Score float64 + type RubricSet struct + Description string + ID string + Name string + Rubrics []Rubric + Version string + func DefaultPRDRubricSet() *RubricSet + type ScoreAnchor struct + Criteria []string + Description string + Label string + MaxScore float64 + MinScore float64 + Score float64 + type ScoreStatus string + const CategoryNeedsImprovement + const CategoryPending + const ScoreStatusFail + const ScoreStatusPass + const ScoreStatusWarn + func (s ScoreStatus) Icon() string + type Severity string + const SeverityCritical + const SeverityHigh + const SeverityInfo + const SeverityLow + const SeverityMedium + func AllSeverities() []Severity + func (s Severity) Icon() string + func (s Severity) IsBlocking() bool + func (s Severity) Weight() int + type TokenUsage struct + CacheReadTokens int + CacheWriteTokens int + InputTokens int + OutputTokens int + TotalTokens int