Recommendation engine and browse UI #10
No reviewers
Labels
No labels
Compat/Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Need More Info
No milestone
No assignees
3 participants
Notifications
Due date
No due date set.
Reference
marvin8/xique!10
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/issue-5-phase-1d-recommendations"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Phase 1d (Closes #5): the spike's round-2 engine ported to
services/engine.pybehind a workerrecommendjob, plus the zero-JS browse UI.Engine — seeds = ledger items rated ≥ 8; per-seed TMDB
recommendations+similarfan-out (page 1);vote_count ≥ 100floor; seen/dismissed/Jellyfin-library exclusion (library best-effort);score = adjacency × clip((bayes/6)², 0.3, 2.0)with m=300, C=6.0; movie-only franchise cap of 2 perbelongs_to_collection(TMDB TV has no collection field, so shows rely on the ≥ 2-distinct-seed rule); genre-affinity/discover(top-3 ledger genres, release-date cap, bayes-sorted); seeded wildcards from the discovery mid-tier. Note: discovery fetches 3 pages per type to build the wildcard pool but stores the top 20 per discovery list. Recompute replaces the user's rows wholesale; an empty ledger genre distribution skips discovery with a warning.Browse UI —
/,/movies,/shows(20/page, paginated),/discover,/item/{id}(lazy TMDB enrichment with graceful degradation, seeds shown as "Because you rated X"),/library/unrated,/actions/{rate,hide,seen,refresh}(rate handles the rate+watched / rate+hide combos),/themecookie override withprefers-color-schemedefault. Zero JavaScript anywhere.Also rides: owner folds for the WuMing
max_diff_linesbump and the nox 3.15 matrix; migration 3 (recommendations).Verification: 305 tests,
uv run nox9/9 sessions green at every commit; real-ledger smoke over the imported Trakt data (130 seeds — spike-identical, franchise cap, TV multi-seed, scores to 1e-9, byte-identical replay). Whole-branch review and all four unit reviews APPROVED; fix wave applied.Closes #5
This PR is too large to review automatically (6263 lines; limit is 5000). Please consider splitting it into smaller PRs.