package domain import "git.cin.su/m/Assistant/contracts/interaction" type ContextProjection struct { Text string Source string UsedPersonalMemoryFallback bool } // BuildGen2Context is a read-side projection over canonical utterance history. // PersonalMemory remains a compatibility fallback and is never written here. func BuildGen2Context(history []interaction.HumanUtterance) ContextProjection { text := CompilePersonalMemory(history).ContextText() if text != "" { return ContextProjection{Text: text, Source: "retrieval:interaction-utterances"} } return ContextProjection{Text: text, Source: "personal-memory-v1-fallback", UsedPersonalMemoryFallback: true} }