From d274768bcce30e990b10cf6150913cb48ad0d3c2 Mon Sep 17 00:00:00 2001 From: Mikhail Date: Tue, 25 Aug 2026 02:48:36 +0300 Subject: [PATCH] Always load durable user conversation context --- cmd/core-runtime/main.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/cmd/core-runtime/main.go b/cmd/core-runtime/main.go index fa47193..00e7df2 100644 --- a/cmd/core-runtime/main.go +++ b/cmd/core-runtime/main.go @@ -513,9 +513,12 @@ func main() { var conversationHistory []interaction.HumanUtterance if request.ConversationID != "" { conversationHistory, _ = interactionRepository.Utterances(r.Context(), conversation.ID) - } else { - conversationHistory, _ = interactionRepository.RecentUtterancesForPrincipal(r.Context(), session.ActorID, session.PrincipalID, 64) } + // Keep durable user context available even when the web client carries a + // conversation ID; a new or rotated conversation must not erase learned + // preferences. + recentUserHistory, _ := interactionRepository.RecentUtterancesForPrincipal(r.Context(), session.ActorID, session.PrincipalID, 64) + conversationHistory = append(conversationHistory, recentUserHistory...) if request.ConversationID != "" && interactiondomain.IsRetryRequest(utterance.Content) { if len(conversationHistory) > 0 { for index := len(conversationHistory) - 1; index >= 0; index-- { -- 2.54.0