Dashboard now supports all existing mutation APIs: feedback
(thumbs up/down, retract), profile CRUD, speaker mapping,
playlist generation, track discovery, taste rebuild, and
requeue failed embeddings. All controls use vanilla JS fetch
with toast notifications.
New endpoint: POST /api/admin/requeue-failed resets failed
embedding tracks back to pending.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Profile pill selector at top of page filters Recent Listens,
Feedback Activity, and Vibe Influence by selected profile.
Feedback items show profile badge when viewing all profiles.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The vibe is the core concept of vibe-aware playlists but wasn't
visible anywhere on the dashboard. Now each recent playlist shows
its vibe text alongside track count and age.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds feedback API endpoints that record up/down/skip signals tied to
vibe context (CLAP embeddings + text). Dashboard now shows Feedback
Activity (recent events with signal counts) and Vibe Influence (how
the same track gets rated differently across vibes).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add recent listens, profiles, taste profiles, and recent playlists
to the status page. Two-column responsive grid layout with progress
bar for embeddings and relative timestamps throughout.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Full music recommendation pipeline: listening history capture via webhook,
Last.fm candidate discovery, iTunes preview download, CLAP audio embeddings
(512-dim), pgvector cosine similarity recommendations, playlist generation
with known/new track interleaving, and Music Assistant playback via HA.
Includes: FastAPI app, SQLAlchemy models, Alembic migrations, Docker Compose
with pgvector/pg17, status dashboard, and all API endpoints.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>