OK, some more info. This appears to be on the TIDAL side, but it is very, very odd. Sharing it with Roon and everyone so perhaps you won’t waste the time I did. I doubt TIDAL will be much help!
OK, here’s what I learned.
A track in a TIDAL playlist that won’t play in Roon is signified by its album art being missing when the TIDAL playlist is shown in Roon, at least in my experience
I went through all of my other TIDAL-native playlists that I use in Roon (I have dozens with hundreds of tracks in each), and none were missing artwork - except for the one single playlist in TIDAL (my favortite Porcupine Tree songs) that’s giving me the problems. I obviously didn’t play every track in every playlist, but I did do plenty of spot testing.
So I opened the TIDAL interface, and as expected, every track in the playlist played fine.
I figured there’s some weird corruption somewhere, so I planned to copy the TIDAL playlist within TIDAL, delete the original in TIDAL, resync Roon, etc.
BUT: in TIDAL, when I went to add all of the tracks from the playlist in question to a new playlist, I got a message in TIDAL indicating “Some tracks are not available and won’t be added”.
Of course they’re the same tracks that won’t play in Roon.
So, they play in TIDAL (and Roon) in some spots, but not in playlists? I get this is a TIDAL issue, but as above, I am not imagine there’s even a way to communicate this issue to them?
This is a known issue.
Roon has a tidal track V1, you put it in a roon playlist.
Tidal withdraw that track V1 (usually due to licensing changes) and in the Tidal system replace it with a seemingly identical track V2 so it plays.
Roon is sent a new identifier for V2 if you search or navigate.
However, the playlist still has a pointer to V1 and so says it is unavailable.
If you search the forum there are many, many threads about it.
Roon are working to reengineer this but as Roon was coded before there were streaming services I guess it is probably part of a fundamental rewrite including the library/non-library awkwardness as well. My guess entirely there.