Add GET /me/recommendations: rank mangas by weighted tag overlap with the user's taste — explicit like +1.0, bookmark +0.5, dislike −1.0 (reaction overrides bookmark). Per-tag affinities are summed, candidates scored by their tags' affinity normalized by tag count (anti-tag-stuffing, à la list_similar), with already-reacted/bookmarked/read mangas excluded and net-negative candidates dropped (dislike down-ranks, not browse-hides). Reuses manga_cols/cards_from_rows. Integration tests cover like-driven recs, dislike down-rank, bookmark half-weight ordering, seen-exclusion, empty cold-start, and auth. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
6.9 KiB
6.9 KiB