Documentation
¶
Index ¶
- type AggregatedMetrics
- type CalibrationConfig
- type CalibrationMetrics
- type CalibrationProgress
- type CalibrationRun
- type CalibrationRunStatus
- type CalibrationRunSummary
- type ConfidenceCalibrator
- type ConfidenceDistribution
- type CurrentRunInfo
- type MetricsCollector
- func (mc *MetricsCollector) ExportMetrics() ([]byte, error)
- func (mc *MetricsCollector) GetAggregatedMetrics() AggregatedMetrics
- func (mc *MetricsCollector) RecordCalibrationRun(runID string, metrics CalibrationMetrics, success bool)
- func (mc *MetricsCollector) Reset()
- func (mc *MetricsCollector) String() string
- type MetricsSample
- type PatternCalibrationData
- type PatternFeedback
- type Scheduler
- type SchedulerStatus
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AggregatedMetrics ¶
type AggregatedMetrics struct {
// Run statistics
TotalRuns int64 `json:"total_runs"`
SuccessfulRuns int64 `json:"successful_runs"`
FailedRuns int64 `json:"failed_runs"`
SuccessRate float64 `json:"success_rate"`
AverageRunDuration time.Duration `json:"average_run_duration"`
// Pattern statistics
TotalPatternsProcessed int64 `json:"total_patterns_processed"`
TotalPatternsUpdated int64 `json:"total_patterns_updated"`
UpdateRate float64 `json:"update_rate"` // patterns updated / patterns processed
// Confidence statistics
ConfidenceDistribution ConfidenceDistribution `json:"confidence_distribution"`
AverageConfidence float64 `json:"average_confidence"`
ConfidenceTrend string `json:"confidence_trend"` // "improving", "stable", "declining"
// Time-based metrics
LastRunAt *time.Time `json:"last_run_at,omitempty"`
NextScheduledRun *time.Time `json:"next_scheduled_run,omitempty"`
MetricsGeneratedAt time.Time `json:"metrics_generated_at"`
// Performance indicators
RecentSamples []MetricsSample `json:"recent_samples"`
PerformanceScore float64 `json:"performance_score"` // 0-100 based on various factors
}
AggregatedMetrics provides a comprehensive view of calibration performance
type CalibrationConfig ¶
type CalibrationConfig struct {
Enabled bool `yaml:"enabled" json:"enabled"`
Schedule string `yaml:"schedule" json:"schedule"` // Cron format: "0 2 * * *"
BatchSize int `yaml:"batch_size" json:"batch_size"` // Patterns to process per batch
MinFeedbackThreshold int `yaml:"min_feedback_threshold" json:"min_feedback_threshold"` // Minimum feedback required
DecayRate float64 `yaml:"decay_rate" json:"decay_rate"` // Daily decay rate (0.98)
RecencyDecayDays int `yaml:"recency_decay_days" json:"recency_decay_days"` // Days for recency weight
MaxFrequencyBoost float64 `yaml:"max_frequency_boost" json:"max_frequency_boost"` // Cap for frequency boost
CalibrationTimeout time.Duration `yaml:"calibration_timeout" json:"calibration_timeout"` // Max time per calibration run
}
CalibrationConfig holds configuration for confidence calibration
func DefaultCalibrationConfig ¶
func DefaultCalibrationConfig() CalibrationConfig
DefaultCalibrationConfig returns sensible defaults
type CalibrationMetrics ¶
type CalibrationMetrics struct {
LastRunAt time.Time `json:"last_run_at"`
PatternsProcessed int `json:"patterns_processed"`
PatternsUpdated int `json:"patterns_updated"`
AverageConfidence float64 `json:"average_confidence"`
HighConfidenceCount int `json:"high_confidence_count"` // > 0.8
LowConfidenceCount int `json:"low_confidence_count"` // < 0.3
ProcessingDuration time.Duration `json:"processing_duration"`
ErrorsEncountered int `json:"errors_encountered"`
}
CalibrationMetrics tracks calibration effectiveness
type CalibrationProgress ¶
type CalibrationProgress struct {
Stage string `json:"stage"`
PatternsFound int `json:"patterns_found"`
PatternsProcessed int `json:"patterns_processed"`
PatternsUpdated int `json:"patterns_updated"`
ErrorsEncountered int `json:"errors_encountered"`
PercentComplete float64 `json:"percent_complete"`
EstimatedTimeLeft string `json:"estimated_time_left"`
}
CalibrationProgress tracks calibration progress
type CalibrationRun ¶
type CalibrationRun struct {
ID string `json:"id"`
StartedAt time.Time `json:"started_at"`
ProjectID string `json:"project_id,omitempty"`
Status CalibrationRunStatus `json:"status"`
Progress CalibrationProgress `json:"progress"`
Context context.Context `json:"-"`
CancelFunc context.CancelFunc `json:"-"`
}
CalibrationRun represents an active calibration process
type CalibrationRunStatus ¶
type CalibrationRunStatus string
CalibrationRunStatus represents the status of a calibration run
const ( StatusStarting CalibrationRunStatus = "starting" StatusRunning CalibrationRunStatus = "running" StatusCompleted CalibrationRunStatus = "completed" StatusFailed CalibrationRunStatus = "failed" StatusCancelled CalibrationRunStatus = "cancelled" )
type CalibrationRunSummary ¶
type CalibrationRunSummary struct {
ID string `json:"id"`
StartedAt time.Time `json:"started_at"`
CompletedAt time.Time `json:"completed_at"`
Duration time.Duration `json:"duration"`
Status CalibrationRunStatus `json:"status"`
PatternsProcessed int `json:"patterns_processed"`
PatternsUpdated int `json:"patterns_updated"`
FinalMetrics *CalibrationMetrics `json:"final_metrics,omitempty"`
Error string `json:"error,omitempty"`
}
CalibrationRunSummary is a condensed view of a completed run
type ConfidenceCalibrator ¶
type ConfidenceCalibrator struct {
// contains filtered or unexported fields
}
ConfidenceCalibrator handles confidence score recalibration
func NewConfidenceCalibrator ¶
func NewConfidenceCalibrator(store knowledge.Store, config CalibrationConfig) *ConfidenceCalibrator
NewConfidenceCalibrator creates a new calibration instance
func (*ConfidenceCalibrator) CalibratePatterns ¶
func (cc *ConfidenceCalibrator) CalibratePatterns(ctx context.Context, projectID string) (*CalibrationMetrics, error)
CalibratePatterns performs confidence calibration on all eligible patterns
func (*ConfidenceCalibrator) GetMetrics ¶
func (cc *ConfidenceCalibrator) GetMetrics() CalibrationMetrics
GetMetrics returns the current calibration metrics
type ConfidenceDistribution ¶
type ConfidenceDistribution struct {
Range_0_0_to_0_2 int `json:"0.0-0.2"`
Range_0_2_to_0_4 int `json:"0.2-0.4"`
Range_0_4_to_0_6 int `json:"0.4-0.6"`
Range_0_6_to_0_8 int `json:"0.6-0.8"`
Range_0_8_to_1_0 int `json:"0.8-1.0"`
}
ConfidenceDistribution tracks how confidence scores are distributed
type CurrentRunInfo ¶
type CurrentRunInfo struct {
ID string `json:"id"`
StartedAt time.Time `json:"started_at"`
Status CalibrationRunStatus `json:"status"`
Progress CalibrationProgress `json:"progress"`
ProjectID string `json:"project_id,omitempty"`
}
CurrentRunInfo provides details about the currently running calibration
type MetricsCollector ¶
type MetricsCollector struct {
// contains filtered or unexported fields
}
MetricsCollector tracks calibration performance and effectiveness
func NewMetricsCollector ¶
func NewMetricsCollector() *MetricsCollector
NewMetricsCollector creates a new metrics collector
func (*MetricsCollector) ExportMetrics ¶
func (mc *MetricsCollector) ExportMetrics() ([]byte, error)
ExportMetrics exports metrics in JSON format
func (*MetricsCollector) GetAggregatedMetrics ¶
func (mc *MetricsCollector) GetAggregatedMetrics() AggregatedMetrics
GetAggregatedMetrics returns comprehensive calibration metrics
func (*MetricsCollector) RecordCalibrationRun ¶
func (mc *MetricsCollector) RecordCalibrationRun(runID string, metrics CalibrationMetrics, success bool)
RecordCalibrationRun records metrics from a calibration run
func (*MetricsCollector) Reset ¶
func (mc *MetricsCollector) Reset()
Reset clears all collected metrics
func (*MetricsCollector) String ¶
func (mc *MetricsCollector) String() string
String returns a formatted string representation of current metrics
type MetricsSample ¶
type MetricsSample struct {
Timestamp time.Time `json:"timestamp"`
RunID string `json:"run_id"`
Duration time.Duration `json:"duration"`
PatternsProcessed int `json:"patterns_processed"`
PatternsUpdated int `json:"patterns_updated"`
AverageConfidence float64 `json:"average_confidence"`
HighConfidenceCount int `json:"high_confidence_count"`
LowConfidenceCount int `json:"low_confidence_count"`
ErrorsEncountered int `json:"errors_encountered"`
}
MetricsSample represents a point-in-time metrics snapshot
type PatternCalibrationData ¶
type PatternCalibrationData struct {
Pattern knowledge.Memory `json:"pattern"`
Feedback PatternFeedback `json:"feedback"`
NewConfidence float64 `json:"new_confidence"`
ConfidenceDelta float64 `json:"confidence_delta"`
}
PatternCalibrationData holds pattern and its feedback for calibration
type PatternFeedback ¶
type PatternFeedback struct {
PatternID string `json:"pattern_id"`
TotalFeedback int `json:"total_feedback"`
ConfirmedCount int `json:"confirmed_count"`
FailedCount int `json:"failed_count"`
SuccessRate float64 `json:"success_rate"`
LastFeedbackAt time.Time `json:"last_feedback_at"`
FirstFeedbackAt time.Time `json:"first_feedback_at"`
DaysSinceLastFeedback int `json:"days_since_last_feedback"`
}
PatternFeedback aggregates feedback for a pattern
type Scheduler ¶
type Scheduler struct {
// contains filtered or unexported fields
}
Scheduler manages background confidence calibration runs
func NewScheduler ¶
func NewScheduler(store knowledge.Store, config CalibrationConfig) (*Scheduler, error)
NewScheduler creates a new calibration scheduler
func (*Scheduler) CancelCurrentRun ¶
CancelCurrentRun cancels the currently running calibration
func (*Scheduler) GetStatus ¶
func (s *Scheduler) GetStatus() SchedulerStatus
GetStatus returns the current scheduler status
type SchedulerStatus ¶
type SchedulerStatus struct {
Enabled bool `json:"enabled"`
IsRunning bool `json:"is_running"`
Schedule string `json:"schedule"`
LastRun time.Time `json:"last_run"`
NextRun time.Time `json:"next_run"`
CurrentRun *CurrentRunInfo `json:"current_run,omitempty"`
RunHistory []CalibrationRunSummary `json:"run_history"`
}
SchedulerStatus represents the current state of the scheduler