fix: return 404 (not 500) for playlists with missing PDS records (#1240)
root cause: brenthueth.bsky.social's artist.pds_url was null (DID resolution
failed at signup). playlist reads fell back to bsky.network relay, which
hadn't indexed the just-created record — relay returned 404, we surfaced 500.
two fixes:
- get_record_public() now raises RecordNotFound for PDS 404s, and playlist
read endpoints catch it to return 404 instead of 500
- get_record_public_resilient() now resolves DID even when pds_url is None
(previously it gave up immediately), so the retry path works for artists
with missing pds_url
closes the "activity feed links to broken playlist" report.
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
authored by