Skip to content

fix(backend): 推荐缓存即时失效 + 相似/查重/引用补强排除 rejected + cluster_map 异步缓存 - #37

Merged
Color2333 merged 1 commit into
mainfrom
fix/audit-all
Jul 17, 2026
Merged

Color2333 merged 1 commit into
mainfrom
fix/audit-all

Conversation

@Color2333

Copy link
Copy Markdown
Owner

PR1 — 后端一致性/性能/缓存基线

改动

  • recommendation_service: 新增 invalidate_recommendations(),按前缀清 recommend:* 与 today_summary 缓存
  • papers.toggle_reject: 调用 invalidate_recommendations(),负反馈立即生效(此前被拒论文最长 5min 仍留在推荐列表)
  • papers.similar / duplicates: get_by_id 抛 ValueError 统一转 404(此前 500)
  • repositories.similar_by_embedding / semantic_candidates: PG+SQLite 分支均加 Paper.rejected.is_(False),与推荐策略对齐
  • graph.cluster_map / similarity_map: 改 async + run_in_threadpool + 60s 缓存,避免全库 k-means/UMAP 阻塞 ASGI 事件循环
  • graph.similar_via_citation: paper_id 改 UUID 校验;论文不存在转 404
  • similarity.similar_via_citation: co-citation 扩张加 LIMIT(200/2000/500) 防高被引 hub 无界扩张 OOM;候选加 rejected 过滤;去掉 if not seed 死代码(get_by_id 已 raise)

验证

  • 语法检查通过;invalidate_recommendations 可导入
  • pytest tests/test_import_smoke.py tests/test_repositories.py 13 通过
  • 与 PR2-4 合并零冲突,typecheck + build 通过

严重度

P0(负反馈延迟生效、500 错误、事件循环阻塞、OOM 风险)

PR1 — 后端一致性/性能/缓存基线

- recommendation_service: 新增 invalidate_recommendations(),按前缀清
  recommend:* 与 today_summary 缓存
- papers.toggle_reject: 调用 invalidate_recommendations(),负反馈立即生效
  (此前被拒论文最长 5min 仍留在推荐列表)
- papers.similar / duplicates: get_by_id 抛 ValueError 统一转 404(此前 500)
- repositories.similar_by_embedding / semantic_candidates: PG+SQLite 分支
  均加 Paper.rejected.is_(False),与推荐策略对齐
- graph.cluster_map / similarity_map: 改 async + run_in_threadpool + 60s 缓存,
  避免全库 k-means/UMAP 阻塞 ASGI 事件循环
- graph.similar_via_citation: paper_id 改 UUID 校验;论文不存在转 404
- similarity.similar_via_citation: co-citation 扩张加 LIMIT(200/2000/500)
  防高被引 hub 无界扩张 OOM;候选加 rejected 过滤;去掉 if not seed 死代码
  (get_by_id 已 raise)
@github-actions

Copy link
Copy Markdown

🔍 OpenCode PR Review Required

这是一个受保护的分支,merge 前需要进行 code review。

请运行以下命令进行 OpenCode review:

/oc review https://github.com/Color2333/PaperMind/pull/$PR_NUM

或者在 PR 页面评论 /oc 来触发 OpenCode review。


This is an automated reminder from PR Review Gate.

@Color2333
Color2333 merged commit c496834 into main Jul 17, 2026
2 checks passed
@Color2333
Color2333 deleted the fix/audit-all branch July 17, 2026 13:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant