Scope durable assistant memory to principal #299

Merged
m merged 2 commits from codex/chat-semantic-inventory into main 2026-08-25 00:01:17 +00:00
2 changed files with 3 additions and 3 deletions
+2 -2
View File
@@ -102,8 +102,8 @@ func (r *InteractionRepository) Utterances(ctx context.Context, id interaction.C
// RecentUtterancesForPrincipal provides durable conversational context when a
// client starts a fresh conversation instead of carrying the previous ID.
func (r *InteractionRepository) RecentUtterancesForPrincipal(ctx context.Context, actorID identity.ActorID, principalID identity.PrincipalID, limit int) ([]interaction.HumanUtterance, error) {
rows, err := r.pool.Query(ctx, `SELECT utterance_id,conversation_id,actor_id,principal_id,channel,received_at_unix_millis,correlation_id,content,content_ref,speech_act,interpretation_state,corrects_utterance_id FROM interaction.utterances WHERE actor_id=$1 AND principal_id=$2 ORDER BY received_at_unix_millis DESC, utterance_id DESC LIMIT $3`, actorID, principalID, limit)
func (r *InteractionRepository) RecentUtterancesForPrincipal(ctx context.Context, principalID identity.PrincipalID, limit int) ([]interaction.HumanUtterance, error) {
rows, err := r.pool.Query(ctx, `SELECT utterance_id,conversation_id,actor_id,principal_id,channel,received_at_unix_millis,correlation_id,content,content_ref,speech_act,interpretation_state,corrects_utterance_id FROM interaction.utterances WHERE principal_id=$1 ORDER BY received_at_unix_millis DESC, utterance_id DESC LIMIT $2`, principalID, limit)
if err != nil {
return nil, err
}
+1 -1
View File
@@ -517,7 +517,7 @@ func main() {
// 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)
recentUserHistory, _ := interactionRepository.RecentUtterancesForPrincipal(r.Context(), session.PrincipalID, 64)
conversationHistory = append(conversationHistory, recentUserHistory...)
if request.ConversationID != "" && interactiondomain.IsRetryRequest(utterance.Content) {
if len(conversationHistory) > 0 {