- Multi-provider AI analysis (Anthropic, OpenAI, Ollama, Algorithmic)
- server-only guards on all provider files; client bundle fix
- /settings page with provider status, Ollama model picker, preferences
- Song search box on /analyze replacing raw MBID input (debounced, keyboard nav)
- Auto-register song via MusicBrainz on POST /api/tracks (no more 404)
- Fix WAV duration bug: last section songEnd was double-counting elapsed time
- Registry sync comment updated for self-hosted HTTPS git servers
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
pg's Pool.query<T> requires T extends QueryResultRow. Added the
constraint and imported the type.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>