Versions in this module Expand all Collapse all v0 v0.3.0 May 26, 2026 v0.2.1 May 26, 2026 Changes in this version + func CompareApproaches(solutions []Solution) string + func DefaultScoreFn(solution string) float64 + func FormatConsensus(result *ConsensusResult) string + func FormatInline(comments []ReviewComment) string + func FormatReport(report *ReviewReport) string + func FormatReview(result *ReviewResult) string + func FormatSelfAssessment(a *Assessment) string + func PairwiseSimilarity(a, b string) float64 + func ScoreByCompleteness(content string) float64 + func ScoreByLength(content string) float64 + func ShouldRetry(solutions []Solution) bool + type Assessment struct + Dimensions map[string]float64 + Improvements []string + Score float64 + Strengths []string + TaskType string + Timestamp time.Time + Weaknesses []string + type Bot = ReviewBot + func NewBot() *Bot + type Comment = ReviewComment + type ConsensusResult struct + Agreement float64 + AllSamples []Sample + Method string + Winner *Sample + type ConsensusSampler struct + NumSamples int + ScoreFn func(solution string) float64 + Strategy string + func NewConsensusSampler(numSamples int) *ConsensusSampler + func (cs *ConsensusSampler) SampleSolutions(ctx context.Context, prompt string, ...) (*ConsensusResult, error) + type Critic struct + func NewCritic(model string) *Critic + func (c *Critic) BuildPrompt(original, patched, intent string) string + func (c *Critic) Model() string + func (c *Critic) ParseVerdict(response string) *PatchVerdict + func (c *Critic) PreScreenPatch(originalContent, patchedContent, intent string) *PatchVerdict + func (c *Critic) ShouldBlock(verdict *PatchVerdict) bool + type PatchVerdict struct + Confidence float64 + Issues []string + Likely string + type QualityScorer struct + History []ScoredResponse + Weights ScoreWeights + func NewQualityScorer() *QualityScorer + func (qs *QualityScorer) AverageScore(n int) float64 + func (qs *QualityScorer) FormatReport(last int) string + func (qs *QualityScorer) GenerateFeedback(scored *ScoredResponse) []string + func (qs *QualityScorer) Score(ctx ResponseContext) *ScoredResponse + func (qs *QualityScorer) TrendAnalysis() string + type Report = ReviewReport + type ResponseContext struct + AssistantResponse string + Duration time.Duration + FilesModified []string + LintPassed bool + TestsPassed bool + TokensUsed int + ToolCallCount int + ToolErrors int + UserPrompt string + type ReviewBot struct + Rules []ReviewRule + Severity string + func NewReviewBot() *ReviewBot + func (rb *ReviewBot) ReviewDiff(diffInput string) (*ReviewReport, error) + func (rb *ReviewBot) ReviewFile(path, content string) (*ReviewReport, error) + type ReviewComment struct + Category string + File string + Line int + Message string + RuleID string + Severity string + Suggestion string + func FilterBySeverity(comments []ReviewComment, minSeverity string) []ReviewComment + type ReviewReport struct + BySeverity map[string]int + Comments []ReviewComment + Duration time.Duration + FilesReviewed int + IssuesFound int + type ReviewResult struct + Agreement float64 + All []Solution + Attempts int + Best *Solution + TotalDuration time.Duration + TotalTokens int + type ReviewRule struct + Category string + Check func(file string, lines []string, diffLines []diff.DiffLine) []ReviewComment + ID string + Language string + Name string + type Rule = ReviewRule + type Sample struct + Content string + Duration time.Duration + ID int + Score float64 + TokensUsed int + func BestScore(samples []Sample) *Sample + func MajorityVote(samples []Sample) *Sample + func Synthesize(samples []Sample) *Sample + type ScoreWeights struct + Completeness float64 + Conciseness float64 + Correctness float64 + Safety float64 + ToolUsage float64 + func DefaultWeights() ScoreWeights + type ScoredResponse struct + Breakdown map[string]float64 + Feedback []string + Model string + Score float64 + TaskType string + Timestamp time.Time + type SelfAssessor struct + History []Assessment + func NewSelfAssessor() *SelfAssessor + func (sa *SelfAssessor) Assess(ctx TaskContext) *Assessment + func (sa *SelfAssessor) AverageScore(n int) float64 + func (sa *SelfAssessor) GetTrend(dimension string) string + func (sa *SelfAssessor) IdentifyStrengths(ctx TaskContext) []string + func (sa *SelfAssessor) IdentifyWeaknesses(ctx TaskContext) []string + func (sa *SelfAssessor) SuggestImprovements(ctx TaskContext) []string + type Solution struct + Content string + Duration time.Duration + Errors []string + FilesModified []string + ID int + Score float64 + TokensUsed int + type SolutionReviewer struct + MaxAttempts int + ScoreFn func(solution string) float64 + func NewSolutionReviewer(maxAttempts int) *SolutionReviewer + func (sr *SolutionReviewer) ReviewAndSelect(ctx context.Context, task string, ...) (*ReviewResult, error) + func (sr *SolutionReviewer) ScoreSolution(solution *Solution) float64 + type TaskContext struct + Duration time.Duration + Errors int + FilesModified int + Goal string + Retries int + TestsPassed bool + TokensUsed int + ToolCalls int + UserFeedback string