Repository navigation
Personal discovery stage 4: Want list, sets that learn, room taste (MAD-824..826) - #70
Merged
Merged
Conversation
…D-824..826) - Want list: a thumbs-up or "Want" on a release keeps it in want_items until it turns up in the library. library.Service's Built hook runs CheckWants after every index build, marking matches got (auto) and counting what landed. Sets report what they yielded (wanted, got). - Sets that learn: thumbs-down lower an artist in that set's feed; two thumbs-up suggest adding an artist (or add them, with grow_auto); three thumbs-down suggest blocking. Dismissed suggestions are remembered. Starred import lists Navidrome stars via a new provider.Starrer, and only the picked artists are added. - Room taste: a room's or a past night's favorite artists to pick from, and a live link with a weight that the feed walks from. Read only: dj.Peek reads the DJ's rows without folding nights. Migration 00032; ADR 0017 updated. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…e web (MAD-824..826) - /discover/want: wanted, got and dismissed, grouped by artist, with previews, YouTube, got it and dismiss; got things link back into Syncphony. Discover says what landed in your library. - A set's page offers what its thumbs suggest, imports from Navidrome stars or a room's taste through a checklist, and can grow by itself or mix in a linked room. Releases can be wanted. - /discover/settings holds the library status and the "Not for me" list. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The last stage of Phase 12 (MAD-814): the Want list with automatic got-it, sets that learn from thumbs, starred import, and a room's taste as a set's source. ADR 0017 is updated.
MAD-824: Want list with automatic got-it
want_itemsalong with the set it came from. Feeds already leave wanted things out.library.Servicegets aBuilthook. After every index build it callsdiscover.CheckWants, which matches wanted items withHas(ISRC or MBID first, then names) andHasRelease. Matches becomegotwithgot_by = auto./discover/wanthas Wanted, Got and Dismissed tabs, grouped by artist. Wanted items have a preview, YouTube, "Got it" and dismiss. Got items link back into Syncphony: the album for a release, a song search for a track.MAD-825: Sets that learn
added_from = thumb.discovery_dismissed)./discover/settings.provider.Starrer, implemented for Navidrome withgetStarred2, feeds a checklist. Only the artists you check are added.MAD-826: Room taste as a set source
GET /me/discover/room-tastereturns a room's or a past night's favorite artists, optionally only your own picks. You check the ones to keep and add them to an existing or new set (added_from = room).dj.Peekreads the DJ's stored rows without folding nights, so discovery never writes DJ memory. Only rooms you can open (rooms.CanEnter) are allowed.Notes
want_items.cover/got_by/got_seen,discovery_sets.grow_auto/room_id/room_weight,discovery_dismissed).postDiscoveryFeedbacknow returns 200 with{want, grew}instead of 204.Testing
go test -race ./...passes, andgolangci-lintreports 0 issues. New tests:discover/stage4_test.go(want/got-it, growing, the thumbs-down penalty, starred import, room taste and access, live link shifting the feed), libraryBuiltandStarred, and an HTTP round-trip inTestDiscoverWantsAndLearning.PickListand the release card's Want button.🤖 Generated with Claude Code