Nothing compares our scanner's output against upstream's #23

Closed
opened 2026-08-02 14:27:25 +02:00 by Claude · 0 comments
Collaborator

Every scanner finding filed from this session was invisible to the suite, and
structurally so.

The harness replays HTTP against two servers reading the same snapshot
database
, one upstream wrote (README.md — "point paths.database at a copy
of a snapshot"). Our scanner is never in that loop: both sides read upstream's
rows.

So a scan that files half the music, stores no tags, finds no artwork, writes
no chapters, no provider ids, no people and no attachments still diffs clean.

What today's session did by hand is the missing test: point both servers at one
media tree, give upstream the same mount path so MD5(UTF-16LE(path)) agrees,
scan both, and diff the tables joined on Id. diff-db already exists but
compares whole rows as set members, so a single differing DateLastSaved puts
every row in both buckets — a column-level comparison on the shared ids is what
made the differences legible.


Found by scanning /mnt/media (285 movies, 289 shows, 74 music artists —
~13 000 media files on a CIFS mount) with both this server and upstream
Jellyfin at the pinned commit, remote metadata and image fetchers disabled on
upstream so both were reading files only. Upstream was given the same mount
path so MD5(UTF-16LE(path)) agrees and rows compare directly.

Every scanner finding filed from this session was invisible to the suite, and structurally so. The harness replays HTTP against two servers reading **the same snapshot database**, one upstream wrote (`README.md` — "point `paths.database` at a copy of a snapshot"). Our scanner is never in that loop: both sides read upstream's rows. So a scan that files half the music, stores no tags, finds no artwork, writes no chapters, no provider ids, no people and no attachments still diffs clean. What today's session did by hand is the missing test: point both servers at one media tree, give upstream the same mount path so `MD5(UTF-16LE(path))` agrees, scan both, and diff the tables joined on `Id`. `diff-db` already exists but compares whole rows as set members, so a single differing `DateLastSaved` puts every row in both buckets — a column-level comparison on the shared ids is what made the differences legible. --- Found by scanning `/mnt/media` (285 movies, 289 shows, 74 music artists — ~13 000 media files on a CIFS mount) with both this server and upstream Jellyfin at the pinned commit, remote metadata and image fetchers disabled on upstream so both were reading files only. Upstream was given the same mount path so `MD5(UTF-16LE(path))` agrees and rows compare directly.
alex closed this issue 2026-08-02 22:23:54 +02:00
Sign in to join this conversation.
No description provided.