docs(audit): Phase 1 — reconcile stale checkboxes + fix roadmap drift
Tick items whose root cause already landed, and fix two doc-drift items: - L82: align ROADMAP-PINCHFLAT Phase F Source/MediaItem sketch to the shipped shared/ipc.ts shape (videoId/itemCount/watched/feedUrl + required url/playlistTitle/playlistIndex). - L89: note H8's afterAllArtifactBuild checksum hook fixes release-artifact consistency going forward; stale dist artifacts handled by L84. - Tick the wire-or-remove trio (M5/M6/UX1 — all wired in the DownloadBar Advanced panel) and MAX_ENQUEUE_BATCH (M33 fixed the false comment). - Tick UX ref-duplicates resolved by their roots (UX10=H5, UX13=M22, UX14=L76, UX25=L78), the (ref) a11y line (UI33/UI30/UI28/UI29 all done), and the (OK)/(non-goal) Windows-conventions line. Docs only; no code touched. 149 -> 137 open audit items. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
+10
-3
@@ -109,19 +109,26 @@ yet. This is the prerequisite for every later phase.
|
||||
channel?: string
|
||||
addedAt: number
|
||||
lastIndexedAt?: number
|
||||
itemCount: number // cached MediaItem count for list display
|
||||
watched?: boolean // included in scheduled / startup sync (Phase J)
|
||||
feedUrl?: string // YouTube RSS feed for cheap "anything new?" checks
|
||||
}
|
||||
interface MediaItem {
|
||||
id: string // yt-dlp video id — the dedup key
|
||||
id: string // globally unique, `${sourceId}:${videoId}`
|
||||
sourceId: string
|
||||
videoId: string // yt-dlp video id — the dedup key within a source
|
||||
title: string
|
||||
playlistTitle?: string // for the folder path; 'Uploads' fallback
|
||||
playlistIndex?: number // 1-based, for NNN numbering
|
||||
url: string
|
||||
playlistTitle: string // for the folder path; 'Uploads' fallback
|
||||
playlistIndex: number // 1-based, for NNN numbering
|
||||
durationLabel?: string
|
||||
downloaded: boolean
|
||||
downloadedAt?: number
|
||||
filePath?: string
|
||||
}
|
||||
```
|
||||
*(This block reflects the shipped `src/shared/ipc.ts` shape; the original sketch
|
||||
predated the `videoId`/`itemCount`/`watched`/`feedUrl` fields.)*
|
||||
- [x] **Dedup on index.** A video appearing in multiple playlists collapses to one `MediaItem`
|
||||
(keyed by video id); first playlist seen wins the folder assignment (surface this choice
|
||||
in the UI so the user can reassign). The "Uploads" synthetic playlist catches anything in
|
||||
|
||||
Reference in New Issue
Block a user