Files
scripts/plex/docs/unmatched-media.md
T
Lucas BergerandClaude Opus 5 829bf009df Check unmatched media at season and episode level
Checking only shows and movies was hiding the larger problem. Battlestar
Galactica has a real plex:// GUID, a poster, and passes a show-level audit,
while all 74 of its episodes and all 5 of its seasons carry local:// GUIDs and
display as "Episode 1", "Episode 2" with no titles or artwork.

Surveying every level found 97 unmatched episodes of 11531 and 7 unmatched
seasons of 954, across four shows — none of it visible before.

Also adds known-issues.conf, an accepted-findings list. The unmatched movie in
the Movies library is the first entry: the 2003 BSG miniseries is catalogued as
television, so the movie agent has no record to match it against and the item
cannot be fixed in place. Listed entries are still printed, as [info] rather
than [warn], so they stop counting as unresolved faults without ever being
silently suppressed.

The episode list is a ~30MB response, so it is written to a temp file before
parsing rather than piped into jq.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-15 21:27:56 -04:00

3.4 KiB
Raw Blame History

Unmatched media (surveyed 2026-08-15)

An unmatched item carries a local:// GUID instead of a real agent GUID (plex://movie/..., plex://episode/...). Plex will never give it a title, summary, or artwork, and no amount of poster repair will help — there is no metadata record behind it.

Why the top level is not enough

A matched parent can be full of unmatched children. This is the finding that matters:

  • Battlestar Galactica the show has a real GUID, a poster, and looks completely healthy in a show-level audit.
  • All 74 of its episodes and all 5 of its seasons carry local:// GUIDs. They display as "Episode 1", "Episode 2"… with no titles and no artwork.

An audit scoped to shows and movies reports this library as clean. plex-health checks show, season, and episode level for exactly this reason.

Current state

Level Unmatched Total
Movies 1 1059
Movies 4k 0 79
Shows 0 283
Seasons 7 954
Episodes 97 11531

Episodes by show:

Show Unmatched Of total Note
Battlestar Galactica 74 74 every episode
Louis Theroux 19 19 every episode
Hellsing Ultimate 3 13 partial
Ancient Aliens 1 205 single episode

Battlestar Galactica: three copies, none of them right

Worth understanding as a whole before changing anything:

  1. MoviesBattlestar Galactica the Mini Series (19798, local://19798) /data/Movies/Battlestar Galactica - The Mini-Series (2003)/…Bluray-1080p.mkv 94 min, 1080p, 11.06 GB. Unmatchable in a Movies library — Plex's movie agent has no entry for the 2003 miniseries, which is catalogued as television. All 20 candidates it offers are documentaries or the Razor/Plan films. Accepted in ../known-issues.conf; the structural fix is to move the file into the TV library, which needs filesystem access to odin.

  2. TV ShowsBattlestar Galactica (2003)Season 2003 (2 episodes) /data/TV/Battlestar Galactica (Miniseries)/Season 2003/…S2003E01… 576p, ~2 GB per part, 94 + 89 min. The same miniseries, at lower quality but complete. The S2003E01 filename is what created the bogus "Season 2003" — the agent expects specials as season 0 (S00E01).

  3. TV ShowsBattlestar Galactica (2003) → Seasons 14 (74 episodes) Filenames are correct and carry real episode titles (… - S01E01 - 33.mkv, … - S01E02 - Water.mkv), yet every episode is local://. The show matched; its episodes never did.

Note that (1) and (2) are not interchangeable copies: the Movies file is higher resolution but 94 minutes against the TV pair's 183, so it is likely part one only rather than a complete alternative.

Not yet attempted

Re-matching the 97 episodes. A forced metadata refresh (PUT /library/metadata/<key>/refresh?force=1) is the obvious lever, and for a show whose filenames are already correct it would probably match them.

It carries a specific risk here: a forced refresh rebuilds the item's metadata, which is precisely the operation implicated in the poster failure documented in tv-poster-incident.md. Running it across the library could undo the poster repair. If it is attempted, do it on one show first, then re-run bin/poster-audit to confirm the posters survived before going wider.