projectconfidence

package
v0.2.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 4, 2026 License: MIT Imports: 12 Imported by: 0

Documentation

Index

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 AssessmentFilter struct {
	Band           string `json:"band,omitempty"`
	MinScore       *int   `json:"min_score,omitempty"`
	MaxScore       *int   `json:"max_score,omitempty"`
	Recommendation string `json:"recommendation,omitempty"`
	RunID          string `json:"run_id,omitempty"`
	TraceID        string `json:"trace_id,omitempty"`
}

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 ConfidenceFactor struct {
	Name       string `json:"name"`
	ScoreDelta int    `json:"score_delta"`
	Weight     int    `json:"weight"`
	Status     string `json:"status"`
	Summary    string `json:"summary"`
	SourceRef  string `json:"source_ref"`
}

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 GetAssessmentRequest struct {
	ProjectID string `json:"project_id"`
	ClaimID   string `json:"claim_id"`
}

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 (*ReliabilityInputAdapter) Build

type ReliabilityInputOptions

type ReliabilityInputOptions struct {
	ProjectID        string
	ClaimID          string
	ChangedPaths     []string
	ClaimCheckDocs   []projectreliability.ClaimDocument
	ClaimCheckPaths  []string
	ClaimCheckTools  []string
	ClaimCheckRoutes []string
	IncludeVerified  bool
}

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 New

func New(store Store) *Service

func (*Service) GetAssessment

func (svc *Service) GetAssessment(ctx context.Context, projectID string, claimID string) (ConfidenceAssessment, error)

func (*Service) ListAssessments

func (svc *Service) ListAssessments(ctx context.Context, projectID string, filter AssessmentFilter) ([]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)
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL