Documentation
¶
Index ¶
- Constants
- Variables
- type AssessmentFilter
- type ClaimCheckProvider
- type ConfidenceAssessment
- type ConfidenceFactor
- type ConfidenceInputs
- type ContextHealthProvider
- type EvidenceClaimReader
- type GetAssessmentRequest
- type ImpactAnalysisProvider
- type ListAssessmentRequest
- type ReliabilityInputAdapter
- type ReliabilityInputOptions
- type ReliabilityInputs
- type ScoreClaimRequest
- type ScoreClaimResponse
- type Service
- func (svc *Service) GetAssessment(ctx context.Context, projectID string, claimID string) (ConfidenceAssessment, error)
- func (svc *Service) ListAssessments(ctx context.Context, projectID string, filter AssessmentFilter) ([]ConfidenceAssessment, error)
- func (svc *Service) Score(record projectevidence.ClaimRecord, health projectreliability.ContextHealth, ...) (ConfidenceAssessment, error)
- func (svc *Service) ScoreClaim(ctx context.Context, record projectevidence.ClaimRecord, ...) (ConfidenceAssessment, error)
- func (svc *Service) ScoreClaimWithInputs(ctx context.Context, adapter *ReliabilityInputAdapter, ...) (ConfidenceAssessment, error)
- type Store
Constants ¶
View Source
const ( ScoreBandHigh = "high" ScoreBandMedium = "medium" ScoreBandLow = "low" ScoreBandUnknown = "unknown" RecommendationPromote = "promote" RecommendationVerify = "verify" RecommendationReview = "review" RecommendationReject = "reject" RecommendationInsufficientEvidence = "insufficient_evidence" FactorStatusPositive = "positive" FactorStatusNeutral = "neutral" FactorStatusNegative = "negative" )
Variables ¶
View Source
var ErrInvalidInput = errors.New("invalid input")
Functions ¶
This section is empty.
Types ¶
type AssessmentFilter ¶
type ClaimCheckProvider ¶
type ClaimCheckProvider interface {
Check(ctx context.Context, request projectreliability.ClaimCheckRequest) (projectreliability.ClaimCheckResult, error)
}
type ConfidenceAssessment ¶
type ConfidenceAssessment struct {
ID string `json:"id"`
ProjectID string `json:"project_id"`
ClaimID string `json:"claim_id"`
ClaimRef string `json:"claim_ref"`
RunID string `json:"run_id,omitempty"`
TraceID string `json:"trace_id,omitempty"`
Score int `json:"score"`
Band string `json:"band"`
Recommendation string `json:"recommendation"`
Factors []ConfidenceFactor `json:"factors"`
Inputs ConfidenceInputs `json:"inputs"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
}
type ConfidenceFactor ¶
type ConfidenceInputs ¶
type ConfidenceInputs struct {
EvidenceCount int `json:"evidence_count"`
EvidenceKinds []string `json:"evidence_kinds,omitempty"`
DecisionCount int `json:"decision_count"`
ActionCount int `json:"action_count"`
PassedOutcomeCount int `json:"passed_outcome_count"`
FailedOutcomeCount int `json:"failed_outcome_count"`
PromotionState string `json:"promotion_state,omitempty"`
ContextHealthStatus string `json:"context_health_status,omitempty"`
ContextHealthReason string `json:"context_health_reason,omitempty"`
LatestRunAgeSeconds int64 `json:"latest_run_age_seconds,omitempty"`
ClaimCheckVerified int `json:"claim_check_verified"`
ClaimCheckActionable int `json:"claim_check_actionable"`
ImpactPartial bool `json:"impact_partial"`
ImpactResidualUnknownCount int `json:"impact_residual_unknown_count"`
ImpactSecurityFlagCount int `json:"impact_security_flag_count"`
}
type ContextHealthProvider ¶
type ContextHealthProvider interface {
ContextHealth(ctx context.Context, projectID string) (projectreliability.ContextHealth, error)
}
type EvidenceClaimReader ¶
type EvidenceClaimReader interface {
GetClaim(ctx context.Context, projectID string, claimID string) (projectevidence.ClaimRecord, error)
}
type GetAssessmentRequest ¶
type ImpactAnalysisProvider ¶
type ImpactAnalysisProvider interface {
Analyze(ctx context.Context, request projectreliability.ImpactAnalysisRequest) (projectreliability.ImpactAnalysis, error)
}
type ListAssessmentRequest ¶
type ListAssessmentRequest struct {
ProjectID string `json:"project_id"`
Filter AssessmentFilter `json:"filter,omitempty"`
}
type ReliabilityInputAdapter ¶
type ReliabilityInputAdapter struct {
// contains filtered or unexported fields
}
func NewReliabilityInputAdapter ¶
func NewReliabilityInputAdapter(evidence EvidenceClaimReader, health ContextHealthProvider, checker ClaimCheckProvider, impact ImpactAnalysisProvider) *ReliabilityInputAdapter
func (*ReliabilityInputAdapter) Build ¶
func (adapter *ReliabilityInputAdapter) Build(ctx context.Context, options ReliabilityInputOptions) (ReliabilityInputs, error)
type ReliabilityInputOptions ¶
type ReliabilityInputOptions struct {
ProjectID string
ClaimID string
ChangedPaths []string
ClaimCheckDocs []projectreliability.ClaimDocument
ClaimCheckPaths []string
ClaimCheckTools []string
ClaimCheckRoutes []string
IncludeVerified bool
}
type ReliabilityInputs ¶
type ReliabilityInputs struct {
Claim projectevidence.ClaimRecord
Health projectreliability.ContextHealth
ClaimCheck *projectreliability.ClaimCheckResult
Impact *projectreliability.ImpactAnalysis
}
type ScoreClaimRequest ¶
type ScoreClaimRequest struct {
Claim projectevidence.ClaimRecord `json:"claim"`
StoreScore bool `json:"store_score,omitempty"`
}
type ScoreClaimResponse ¶
type ScoreClaimResponse struct {
Assessment ConfidenceAssessment `json:"assessment"`
}
type Service ¶
type Service struct {
// contains filtered or unexported fields
}
func (*Service) GetAssessment ¶
func (*Service) ListAssessments ¶
func (svc *Service) ListAssessments(ctx context.Context, projectID string, filter AssessmentFilter) ([]ConfidenceAssessment, error)
func (*Service) Score ¶
func (svc *Service) Score(record projectevidence.ClaimRecord, health projectreliability.ContextHealth, claimCheck *projectreliability.ClaimCheckResult, impact *projectreliability.ImpactAnalysis) (ConfidenceAssessment, error)
func (*Service) ScoreClaim ¶
func (svc *Service) ScoreClaim(ctx context.Context, record projectevidence.ClaimRecord, health projectreliability.ContextHealth, claimCheck *projectreliability.ClaimCheckResult, impact *projectreliability.ImpactAnalysis) (ConfidenceAssessment, error)
func (*Service) ScoreClaimWithInputs ¶
func (svc *Service) ScoreClaimWithInputs(ctx context.Context, adapter *ReliabilityInputAdapter, options ReliabilityInputOptions) (ConfidenceAssessment, error)
type Store ¶
type Store interface {
CreateAssessment(ctx context.Context, assessment ConfidenceAssessment) (ConfidenceAssessment, error)
GetAssessment(ctx context.Context, projectID string, claimID string) (ConfidenceAssessment, error)
ListAssessments(ctx context.Context, projectID string, filter AssessmentFilter) ([]ConfidenceAssessment, error)
}
Click to show internal directories.
Click to hide internal directories.