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
- Mixed-history request (`make me a chill playlist like what I listened to last Friday`): default prompt used 4 turns; override prompt used 2 turns and treated weak recent-history results as a weighting signal instead of spending extra turns matching them exactly.
215
216
216
217
2026-04-02: Conclusion from prompt experiments: tighter stop rules materially reduce turn count, but prompt-only business-rule enforcement remains unreliable for cases like seed-artist caps. The most promising direction is to keep LLM-driven discovery/tool routing while moving playlist compilation and policy enforcement into deterministic business logic that scores and filters candidates using empirical evidence (tool source overlap, local genre, Last.fm tags/similarity, last played date, play history, and explicit duplicate-artist caps).
218
+
219
+
## 2026-04-03: Python-to-Rust migration finalized
220
+
221
+
Swapped AC#2 model from llama3.2:1b to qwen3.5:9b (matches Python agent). Ported remaining Python logic to Rust via rig:
- search_library is ONLY for: exact artist names, exact album names, or specific song titles. NEVER for mood keywords.
47
+
- search_library supports keyword, artist, album, genre, decade, and year range filters.
48
+
- search_library is ONLY for: exact artist names, exact album names, specific song titles, genre/decade filtering. NEVER for mood keywords.
44
49
- Use get_track_tags to understand a track's mood/genre before expanding with get_top_artists_by_tag.
45
50
46
51
CRITICAL: Avoid these common mistakes:
47
52
- NEVER call search_library with mood words like "chill", "relax", "calm", "soft", "dream", "slow" — this matches titles containing those words, not actual chill music
48
-
- NEVER call search_library with genre words like "ambient", "electronic", "indie" — use get_top_artists_by_tag instead
53
+
- NEVER call search_library(query=...) with genre words like "ambient", "electronic", "indie" — use get_top_artists_by_tag or search_library(genre=...) instead
49
54
- If get_top_artists_by_tag returns 0 matches, try related tags (e.g., "ambient" -> "chillout", "electronic" -> "electronica") rather than falling back to search_library
50
55
51
56
RESPONSE FORMAT (final answer only):
52
57
Playlist: [descriptive name]
53
58
Tracks: [comma-separated track IDs]
54
59
60
+
PLAYLIST NAMING:
61
+
- Use a creative synonym or evocative phrase, not the user's exact words
0 commit comments