From 113ae59f84c587c14d644a1aa620b61cd09b90cd Mon Sep 17 00:00:00 2001 From: lanceyq <1982376970@qq.com> Date: Fri, 17 Apr 2026 17:33:17 +0800 Subject: [PATCH] refactor(memory): insert new metadata values at list head for recency ordering Change list.append() to list.insert(0, ...) in extract_user_metadata_task so that newly extracted user metadata values appear at the front of each field list, maintaining a newest-first ordering. --- api/app/tasks.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/api/app/tasks.py b/api/app/tasks.py index 6d2e07a3..8bbbdc6e 100644 --- a/api/app/tasks.py +++ b/api/app/tasks.py @@ -3160,7 +3160,8 @@ def extract_user_metadata_task( if action == "set": if value not in current_list: - current_list.append(value) + # 新值插入列表头部,保证按时间从新到旧排序 + current_list.insert(0, value) target[leaf] = current_list logger.info(f"[CELERY METADATA] set {field_path} = {value}") @@ -3223,7 +3224,8 @@ def extract_user_metadata_task( leaf = parts[-1] current_list = target.get(leaf, []) if change.value not in current_list: - current_list.append(change.value) + # 新值插入列表头部,保证按时间从新到旧排序 + current_list.insert(0, change.value) target[leaf] = current_list if first_alias or initial_meta: