Versions in this module Expand all Collapse all v0 v0.6.0 Jun 1, 2026 Changes in this version + func AllRequiredPassing(results []CategoryResult, rubric *RubricSet) bool + type ActionItem struct + Action string + Category string + Effort string + Owner string + Severity Severity + type AggregationMethod string + const AggregationConservative + const AggregationMajority + const AggregationOptimistic + const AggregationUnanimous + type Annotation struct + AnnotatorID string + AnnotatorType string + Explanation string + Label string + Name string + Score float64 + type CategoricalAgreement struct + ConfusionMatrix map[string]int + ExactAgreement float64 + SampleSize int + func ComputeCategoricalAgreement(results1, results2 []CategoryResult) *CategoricalAgreement + 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) WithLikert(config *LikertConfig) *Category + func (c *Category) WithLikert5(anchors []LikertAnchor) *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 + NumericScore *float64 + Reasoning string + Score ScoreValue + func NewCategoryResult(category string, score ScoreValue, reasoning string) *CategoryResult + 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) AddEvidence(evidence ...string) *CategoryResult + func (cr *CategoryResult) AddFinding(f Finding) *CategoryResult + func (cr *CategoryResult) GetNumericScore() float64 + func (cr *CategoryResult) HasNumericScore() bool + func (cr *CategoryResult) IsPassing() bool + func (cr *CategoryResult) SetChecklistResults(results *ChecklistResults) *CategoryResult + func (cr *CategoryResult) SetNumericScore(score float64) *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 struct + CategoryCounts CategoryResultCounts + FindingCounts FindingCounts + Passed bool + Rationale string + Status DecisionStatus + func EvaluateResults(results []CategoryResult, findings []Finding, criteria PassCriteria, ...) Decision + type DecisionStatus string + const DecisionConditional + const DecisionFail + const DecisionHumanReview + const DecisionPass + type EvaluationType string + const EvaluationTypeAnalytic + const EvaluationTypeHolistic + type Example struct + Excerpt string + Reasoning 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 FindingLimits struct + Critical int + High int + Low int + Medium int + 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 JudgeCategoricalScore struct + JudgeID string + Score ScoreValue + type JudgeDisagreement struct + Category string + Scores []JudgeCategoricalScore + UniqueScores int + 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 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 MultiJudgeResult struct + AggregatedCategories []CategoryResult + AggregationMethod AggregationMethod + Agreement float64 + ConsolidatedDecision Decision + ConsolidatedFindings []Finding + Disagreements []JudgeDisagreement + Evaluations []*Rubric + Judges []*JudgeMetadata + func AggregateEvaluations(evaluations []*Rubric, 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 + MaxFindings *FindingLimits + MinCategoriesPassing string + func DefaultPassCriteria() PassCriteria + func StrictPassCriteria() PassCriteria + type RatingPair struct + Category string + ItemID string + Rater1 float64 + Rater2 float64 + 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 + Categories []CategoryResult + Decision Decision + Findings []Finding + Judge *JudgeMetadata + Metadata ReportMetadata + NextSteps NextSteps + OverallDecision string + PassCriteria PassCriteria + Reference *ReferenceData + ReviewType string + RubricID string + RubricVersion string + Schema string + Summary string + func NewRubric(reviewType, document string) *Rubric + func (r *Rubric) AddCategoryResult(cr CategoryResult) + func (r *Rubric) AddFinding(f Finding) + func (r *Rubric) Evaluate(rubricSet *RubricSet) Decision + func (r *Rubric) Finalize(rubricSet *RubricSet, rerunCommand string) + func (r *Rubric) GenerateNextSteps(rerunCommand string) + func (r *Rubric) GenerateSummary() string + func (r *Rubric) GetCategoryResult(categoryID string) *CategoryResult + func (r *Rubric) SetJudge(judge *JudgeMetadata) + func (r *Rubric) SetPassCriteria(criteria PassCriteria) + func (r *Rubric) SetReference(ref *ReferenceData) + func (r *Rubric) SetRubricInfo(rubricID, rubricVersion string) + type RubricMetadata struct + Author string + BasedOn []string + CreatedAt string + type RubricPassCriteria struct + MaxFindings *FindingLimits + MinCategoriesPassing string + type RubricSet struct + Categories []Category + Description string + EvaluationType EvaluationType + ID string + JudgePromptTemplate string + Metadata *RubricMetadata + Name string + PassCriteria RubricPassCriteria + Version string + 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 + LikertConfig *LikertConfig + 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 + const ScaleTypeLikert + type ScoreValue string + const ScoreFail + const ScorePartial + const ScorePass + func LikertToCategorical(score int, config *LikertConfig) ScoreValue + func (s ScoreValue) Icon() string + func (s ScoreValue) IsFailing() bool + func (s ScoreValue) IsPartial() bool + func (s ScoreValue) IsPassing() bool + 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