SQLAlchemy relationships require ForeignKey on the column definitions,
not just in the migration. Without them, mapper initialization fails.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The pyproject.toml references the package source, so src/ must be
present when pip resolves metadata.
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>