15 lines
799 B
Go
15 lines
799 B
Go
package domain
|
|
|
|
import "git.cin.su/m/Assistant/contracts/epistemics"
|
|
|
|
func AssessSourceReliability(sourceRef, domainRef string, freshness epistemics.FreshnessState, historyScore, priorScore int64, evidence []string, at int64) epistemics.SourceReliabilityAssessment {
|
|
score := (historyScore + priorScore) / 2
|
|
state := epistemics.ReliabilityCurrent
|
|
if freshness == epistemics.FreshnessUnknown {
|
|
state = epistemics.ReliabilityUnknown
|
|
} else if freshness == epistemics.FreshnessStale {
|
|
state = epistemics.ReliabilityAging
|
|
}
|
|
return epistemics.SourceReliabilityAssessment{SourceRef: sourceRef, DomainRef: domainRef, Freshness: freshness, HistoryScoreMillis: historyScore, ReliabilityScoreMillis: score, State: state, EvidenceRefs: append([]string(nil), evidence...), AssessedAtUnixMillis: at}
|
|
}
|