Skip feedback requires vibe embedding — should work unconditionally #4

Open
opened 2026-02-25 01:36:30 +00:00 by antialias · 0 comments
Owner

Problem

The /api/feedback endpoint rejects skip signals when the playlist has no vibe embedding:

{"detail":"Playlist 23 has no vibe embedding — feedback requires vibe context"}

This means skips on vibreless playlists generate zero learning signal, even though a skip is one of the strongest preference signals available.

Steps to reproduce

  1. Generate a playlist without a vibe param
  2. User skips a track
  3. POST to /api/feedback with signal: "skip" → 400 error

Expected behavior

Skip feedback should be accepted and recorded regardless of whether the playlist has a vibe embedding. At minimum, it should update the track's weight in the taste profile (lower similarity score / negative signal).

Also: the playlist generation API should probably always require or strongly encourage a vibe param, since it enables feedback. Currently easy to call without one and lose all feedback capability.

Context

Discovered via Molt (home assistant agent) — user said "cooking tunes" when requesting music. Agent failed to pass vibe to /api/playlists/generate, then skip feedback was silently lost.

## Problem The `/api/feedback` endpoint rejects skip signals when the playlist has no vibe embedding: ``` {"detail":"Playlist 23 has no vibe embedding — feedback requires vibe context"} ``` This means skips on vibreless playlists generate zero learning signal, even though a skip is one of the strongest preference signals available. ## Steps to reproduce 1. Generate a playlist without a `vibe` param 2. User skips a track 3. POST to `/api/feedback` with `signal: "skip"` → 400 error ## Expected behavior Skip feedback should be accepted and recorded regardless of whether the playlist has a vibe embedding. At minimum, it should update the track's weight in the taste profile (lower similarity score / negative signal). ## Related Also: the playlist generation API should probably always require or strongly encourage a `vibe` param, since it enables feedback. Currently easy to call without one and lose all feedback capability. ## Context Discovered via Molt (home assistant agent) — user said "cooking tunes" when requesting music. Agent failed to pass vibe to `/api/playlists/generate`, then skip feedback was silently lost.
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: antialias/haunt-fm#4