4.4 KiB
REPORT — the media folder fix in the live catalog (one drive), 2026-10-14
A topic report (
CLAUDE.md: parallel sessions do not share the rootREPORT.md). Evidence:documentation/audits/media-folder-fix-2026-10-14/. Architecture read:15-media-library.md,07§6,09§1.2/§3; the first task's report.
In plain words
- Does the media chain work now for a customer with one drive? Yes. Proven on demo-hp guest 9201 with the live catalog: Radarr and qBittorrent installed through the dashboard, one public-domain film handed to Radarr; the film in the library is the downloaded file under a second name (link count 2, one inode). No extra space.
- Can the download apps reach the photos? No. Inside qBittorrent and Transmission the
media/photospath does not exist; the media folder shows only their own download folder. A write to the photos path lands only in the container's own layer; the photos on the drive stay unchanged (bench). - What happens to an app that was already installed? It gets the new template from the catalog sync and uses it
at its next start. Its old torrents keep seeding: the old
/downloadspath stays, as a second name of the same folder. New downloads go to the same-path folder. Measured on the bench for both download apps: an install from the old template, then updated. - Backup, export, remove: unchanged in meaning? Yes. Sonarr/Radarr's new
mediabind is declaredexcluded: no backup tier, no export, no removal touches it. Without that line the wholemediafolder, photos included, would have gone into every tier and off-site — measured with the controller's own code. Transmission'swatchfolder is now declared too; before, it went off-site by mistake. - Sonarr/Radarr sign-in default: seeded. A new install starts with „Authentication Required: Enabled". An existing install keeps the household's choice. Until the household makes its first admin, other apps on the box can still read the API key — filed as R-1040.
- Claims in the brief that turned out wrong:
- „a write outside the download folder fails" — the write succeeds, but only inside the container; nothing reaches the drive (B-3).
- „
/media/showsin Sonarr and Jellyfin" — also in Plex, and in Jellyfin's prerequisites too. - Part A: the hub's
/appspage gives a COUNT per app, not the boxes. The boxes were read one by one; the hub's „2" = Tester 1 (the rig) + an older report from demo-felhom's sizing bench. - The first report's top line had been pushed down by my own final edit; restored at the top.
What changed
- app-catalog
bc54c01— sonarr, radarr (onemediabind,excluded; first-start seed; first steps hu+en); qbittorrent, transmission (only their folder at the same path;/downloadskept; default folders moved at start; watch declared); plex, jellyfin (/media/tv); onboarding 2.2 rows; copy freeze (only these lines). CHANGELOG + REPORT there. - felhom.eu —
09§3 decisions 242 (D9 = A with a limit) and 243 (the N100 waits);15§2 ruled table; evidence.
Gates and measurements
catalog_gates.py --fastfor the six apps: all OK (the copy gate first caught a Hungarian suffix error, „filmra" → „filmre", fixed).check-volume-persistence.pyon the bench: sonarr, radarr, qbittorrent, transmission, jellyfin CLEAN; plex UNDETERMINED (/transcodeempty after the exercise; plex's folders did not change in this task).- Downloads: public domain only, archive.org; removed after the read-back (Radarr deleted the film with its files, qBittorrent deleted the torrent with its data); both apps removed WITHOUT „delete data". qBittorrent stalled on archive.org's last piece again; a throwaway Transmission on the bench gave it as a local peer (R-1039).
Register
Rows: before 156 → after 154. Opened 2 (R-1039, R-1040). Closed 4 (R-1014, R-1015, R-1016, R-1030). Narrowed 1 (R-1019: the watch half fixed; the Tier-2 mirror of optional downloads stays open). STATUS: 52 lines; D9 removed (ruled).
Teardown
Machine: demo-hp 9201 — Radarr and qBittorrent removed, their volumes gone, the household folders kept (empty
movies, torrents/.temp). Bench 9401 — throwaway containers, folders and the catalog copy removed; the bench is left
RUNNING (it was stopped before this task). Host: nothing changed. Hub: read only. Tester 1 and the N100: untouched.