feat: rank growth events with grounded evidence
This commit is contained in:
@@ -146,11 +146,10 @@ func (p *Processor) ProcessNext(ctx context.Context) error {
|
||||
if err := p.repository.StoreEvidence(ctx, record.ReportID, record.ClaimToken, analysis.Encoded); err != nil {
|
||||
return err
|
||||
}
|
||||
copy := analysis.Fallback
|
||||
if !analysis.ShouldCallAI {
|
||||
status, failure := deterministicCompletion()
|
||||
slog.Info("growth deterministic analysis complete", "report_id", record.ReportID, "reason", "NO_ACTIONABLE_SIGNALS")
|
||||
return p.repository.CompleteClaimed(ctx, record.ReportID, record.ClaimToken, status, analysis.Encoded, ©, Usage{}, failure)
|
||||
status, failure := deterministicCompletion(analysis.Fallback != nil)
|
||||
slog.Info("growth deterministic analysis complete", "report_id", record.ReportID, "reason", failure)
|
||||
return p.repository.CompleteClaimed(ctx, record.ReportID, record.ClaimToken, status, analysis.Encoded, analysis.Fallback, Usage{}, failure)
|
||||
}
|
||||
status := StatusPartial
|
||||
failure := "AI_DISABLED_OR_UNAVAILABLE"
|
||||
@@ -168,7 +167,7 @@ func (p *Processor) ProcessNext(ctx context.Context) error {
|
||||
}
|
||||
slog.Warn("growth AI output rejected", "report_id", record.ReportID, "reason", "AI_REJECTED", "provider_requests", usage.ProviderRequests, "reserved_tokens", usage.ReservedTokens, "input_tokens", usage.InputTokens, "output_tokens", usage.OutputTokens, "latency_ms", usage.LatencyMS, "estimated_cost", usage.EstimatedCost, "provider_request_id", usage.ProviderRequestID)
|
||||
failure = "AI_REJECTED"
|
||||
return p.repository.CompleteClaimed(ctx, record.ReportID, record.ClaimToken, status, analysis.Encoded, ©, usage, failure)
|
||||
return p.repository.CompleteClaimed(ctx, record.ReportID, record.ClaimToken, status, analysis.Encoded, analysis.Fallback, usage, failure)
|
||||
} else {
|
||||
failure = "AI_BUDGET_EXHAUSTED"
|
||||
slog.Warn("growth AI skipped", "report_id", record.ReportID, "reason", failure)
|
||||
@@ -181,10 +180,13 @@ func (p *Processor) ProcessNext(ctx context.Context) error {
|
||||
if !p.aiEnabled {
|
||||
slog.Info("growth deterministic fallback used", "report_id", record.ReportID, "reason", failure)
|
||||
}
|
||||
return p.repository.CompleteClaimed(ctx, record.ReportID, record.ClaimToken, status, analysis.Encoded, ©, Usage{}, failure)
|
||||
return p.repository.CompleteClaimed(ctx, record.ReportID, record.ClaimToken, status, analysis.Encoded, analysis.Fallback, Usage{}, failure)
|
||||
}
|
||||
|
||||
func deterministicCompletion() (Status, string) {
|
||||
func deterministicCompletion(hasRecommendations bool) (Status, string) {
|
||||
if !hasRecommendations {
|
||||
return StatusPartial, "INSUFFICIENT_EVENT_CANDIDATES"
|
||||
}
|
||||
return StatusReady, ""
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user