Persist selected YouTube candidate truth

This commit is contained in:
TorMatzAndren
2026-06-09 22:00:50 +02:00
parent bd5742f924
commit 3e96e5fd87
5 changed files with 63 additions and 6 deletions
+2 -2
View File
@@ -6,6 +6,7 @@ The MVP reports truth Spooty already owns without a schema migration:
- track state from `TrackEntity.status`
- selected YouTube URL from `TrackEntity.youtubeUrl`
- selected YouTube candidate title, author, score, and reason from `TrackEntity`
- raw failure evidence from `TrackEntity.error`
- download retry count from `TrackEntity.downloadAttemptCount`
- rejected YouTube candidates from `TrackEntity.rejectedYoutubeUrls`
@@ -13,11 +14,10 @@ The MVP reports truth Spooty already owns without a schema migration:
- queue depth and active jobs from BullMQ queues `track-search-processor` and `track-download-processor`
- Spotify connection presence from the stored Spotify user token
The endpoint intentionally does not infer candidate scoring history. Today, selected candidate title, author, score, and reason are logged during search but are not persisted. Rejected candidates are persisted only as URL strings.
The endpoint intentionally does not infer candidate scoring history. Selected candidate metadata is persisted when Spooty chooses a candidate. Rejected candidates are still persisted only as URL strings.
Future persistence work is required for:
- selected candidate title, author, score, and scoring reason
- full searched candidate history
- structured rejected candidate metadata beyond URL
- structured error class fields stored at write time instead of classified from the persisted raw error string