fix: use JSON array format for tags and smarter episode naming (#526)

- backend expects tags as JSON arrays (`["ai"]`), not bare strings
- check existing tracks via `plyrfm my-tracks` before uploading
- if a track for today already exists, add episode number (#2, #3, etc)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude <noreply@anthropic.com>

authored by zzstoatzz.io Claude and committed by GitHub badc91f0 a5a6cf3a

Changed files
+21 -3
.github
+21 -3
.github/workflows/status-maintenance.yml
··· 260 260 261 261 - name: Upload audio to plyr.fm 262 262 run: | 263 - if [ -f update.wav ]; then 264 - uv run --with plyrfm -- plyrfm upload update.wav "plyr.fm update - $(date +'%B %d, %Y')" --album "$(date +%Y)" -t ai 265 - else 263 + if [ ! -f update.wav ]; then 266 264 echo "No update.wav found, skipping upload" 265 + exit 0 267 266 fi 267 + 268 + # check existing tracks to determine episode number 269 + EXISTING=$(uv run --with plyrfm -- plyrfm my-tracks --limit 50 2>/dev/null || echo "") 270 + TODAY=$(date +'%B %d, %Y') 271 + YEAR=$(date +%Y) 272 + 273 + # count how many "plyr.fm update - {date}" tracks exist for today 274 + TODAY_COUNT=$(echo "$EXISTING" | grep -c "plyr.fm update - $TODAY" || echo "0") 275 + 276 + if [ "$TODAY_COUNT" -gt 0 ]; then 277 + # already have one today, add episode number 278 + EPISODE=$((TODAY_COUNT + 1)) 279 + TITLE="plyr.fm update - $TODAY (#$EPISODE)" 280 + else 281 + TITLE="plyr.fm update - $TODAY" 282 + fi 283 + 284 + echo "Uploading as: $TITLE" 285 + uv run --with plyrfm -- plyrfm upload update.wav "$TITLE" --album "$YEAR" -t '["ai"]' 268 286 env: 269 287 PLYR_TOKEN: ${{ secrets.PLYR_BOT_TOKEN }}