release / govulncheck (push) Successful in 31s
release / web (push) Successful in 1m37s
release / go (push) Successful in 1m46s
release / integration (push) Successful in 5m20s
release / android (push) Successful in 5m22s
release / Build signed APK (releases and dev) (push) Successful in 5m39s
release / Attach APK to the Release (tag releases only) (push) Skipped
release / Build + push container image (push) Successful in 1m29s
release / Verify release artifacts (tag releases only) (push) Skipped
Measured on the operator's library (26,005 tracks, pool scale 2.28): the arms the library scale grows all have far more rows than it asks for, and two arms collapsed whatever their limits were. - taste_overlap ordered by weight then track id, so the strongest taste artist's catalogue filled it: 20 tracks of saib. (197 tracks) out of 174 taste artists, the same lowest-id tracks every time. It now takes one track per taste artist, strongest first, md5-seeded, as similar_artists does since #5297. - tag_overlap broke ties in no order. A one-tag seed ties 7,804 tracks, and the LIMIT took whichever Postgres reached first, which the order seed did not control. Ties now follow md5(id || seed). - library_scale.go records the per-arm measurement beside the reference size it leaves as is. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>