This commit is contained in:
@@ -50,6 +50,9 @@ func NewExperienceRecord(value epistemics.ExperienceRecord) (epistemics.Experien
|
||||
if value.VerificationEvidence == nil {
|
||||
value.VerificationEvidence = []epistemics.EvidenceRef{}
|
||||
}
|
||||
if value.ApplicabilityConditions == nil {
|
||||
value.ApplicabilityConditions = []string{}
|
||||
}
|
||||
return value, nil
|
||||
}
|
||||
|
||||
|
||||
@@ -85,3 +85,22 @@ func TestFastPathDeclineReturnsToThinkingInsteadOfGuessing(t *testing.T) {
|
||||
t.Fatalf("decline should preserve reflection/escalation evidence, candidate=%#v ok=%v err=%v", candidate, ok, err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestExperienceNormalizesApplicabilityConditionsForNonNullPersistence(t *testing.T) {
|
||||
experience, err := NewExperienceRecord(epistemics.ExperienceRecord{
|
||||
SourceKind: epistemics.ExperienceSourceInteraction,
|
||||
OriginalIntentID: "intent-1",
|
||||
SourceUtteranceID: "utterance-4",
|
||||
HelpMethod: epistemics.HelpMethodClarification,
|
||||
ExpectedOutcome: epistemics.OutcomeSuccess,
|
||||
ActualOutcome: epistemics.OutcomeUserCorrected,
|
||||
ConfidenceMillis: 1000,
|
||||
RecordedAtUnixMillis: 1300,
|
||||
})
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if experience.ApplicabilityConditions == nil {
|
||||
t.Fatal("applicability conditions must be non-nil before repository persistence")
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user