You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add 'favourite' rating tier for stronger recommendation signal
Favourite (star icon, amber) sits above liked and carries 2x weight
in the recommendation engine. All positive-signal queries (GetLikedShows,
GetBothLikedShows) now include favourites. Claude API prompts pass
favourites separately for better taste profiling.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@@ -218,16 +221,17 @@ func (e *Engine) generateVerdict(ctx context.Context, userID int64) (*Verdict, e
218
221
returne.fallbackVerdict(ctx, userID)
219
222
}
220
223
224
+
favouriteTitles:=titlesStr(favourites)
221
225
likedTitles:=titlesStr(liked)
222
226
dislikedTitles:=titlesStr(disliked)
223
227
candidateTitles:=titlesStr(top)
224
228
225
229
prompt:=fmt.Sprintf(
226
-
"You are an opinionated cinephile recommending TV series. The user liked: %s. They disliked: %s. "+
230
+
"You are an opinionated cinephile recommending TV series. The user's absolute favourites: %s. They also liked: %s. They disliked: %s. "+
227
231
"Recommend exactly ONE TV series from this candidate list: %s. "+
228
232
"Respond with valid JSON only, no markdown: "+
229
233
`{"pick":"<exact title>","headline":"You should watch <Title>.","verdict":"<2 sentences, max 50 words, in the voice of a knowledgeable film-friend explaining why>"}`,
0 commit comments