diff --git a/serverAppConfigs-docs/Dankserver/Jellyfin.md b/serverAppConfigs-docs/Dankserver/Jellyfin.md
index 2c4298c..202be6f 100644
--- a/serverAppConfigs-docs/Dankserver/Jellyfin.md
+++ b/serverAppConfigs-docs/Dankserver/Jellyfin.md
@@ -81,21 +81,25 @@ so an empty `` switches art off while `ImageFetcherOrder` stays
fully populated — order is not enablement — and the populated ``
built next to it makes the library look healthy.
-**Live posture, measured 2026-11-02** from `GET /Library/VirtualFolders`. The DTO is
-PascalCase — `Name`, `CollectionType`, `Locations`, `ItemId`, `RefreshStatus` — and a
-census written against the 10.x camelCase keys reads `None` for everything, which
-looks exactly like an unconfigured library.
+**Live posture, measured 2026-11-02** from `GET /Library/VirtualFolders`, cross-checked
+against each library's `config/root/default//options.xml`. The per-library switches
+are NOT top-level DTO keys: the folder carries `Name`, `CollectionType`, `Locations`,
+`ItemId`, `PrimaryImageItemId`, `RefreshStatus` and `LibraryOptions`, and the switches live
+inside `LibraryOptions`. Reading `EnableInternetProviders` off the folder itself returns
+`None` for every library, which looks exactly like an unconfigured library — that is the
+10.x camelCase trap one level deeper.
| Library | `CollectionType` | `EnableInternetProviders` | `EnableRealtimeMonitor` |
|---|---|---|---|
| `Movies` | movies | true (fixed 2026-11-02) | **false** |
-| `Shows` | tvshows | **false** | true |
+| `Shows` | tvshows | true (flipped 2026-11-02, before the TV arm ran) | true |
| `Music` | music | **false** | true |
-| `Collections` | boxsets | **false** | false |
+| `Collections` | boxsets | no element — false by default | false |
-`Shows` and `Music` are silent file indexes in the sense above: a refresh answers
-`204`, stores nothing, logs nothing. Any metadata or artwork work on either one
-starts by flipping the switch, never by firing a scan.
+`Music` is still a silent file index in the sense above: a refresh answers `204`, stores
+nothing, logs nothing, and any metadata or artwork work on it starts by flipping the switch,
+never by firing a scan. `Shows` was flipped on 2026-11-02 and the flip is at rest in the
+server's own `options.xml`: scan #7 resolved provider ids for 731 of 733 series.
**The per-library option door on 12.x is `POST /Library/VirtualFolders/LibraryOptions`**
— `GET` there answers `405`, which is how the route announces itself. The 10.x doors
@@ -130,9 +134,17 @@ nothing to look up. Art coverage is capped by identification, not by the image d
the items a campaign returns nothing for are the unidentified ones, and no image
retry will change that.
-**API shape on 12.x:** `/Items` and `/Items/{id}` need `UserId` when
-authenticated by API key — without it the answer is `400 Error processing
-request`, which reads exactly like an authentication failure. `MetadataRefreshMode`
+**Never pin `Providers=` on a TV art loop.** The pinned form reports `none` for exactly the
+items the unpinned `RemoteImages` query answers for: the TVShows arm's 16 fillable seasons
+all offered `TheTVDB` posters, and a `Providers=TheMovieDb` pass — correct for movies, wrong
+here — logged `none` for every one of them and called the gap closed. The unpinned answer is
+the provider census; the pinned one only proves one provider is empty.
+
+**API shape on 12.x:** `/Items/{id}` needs `UserId` when authenticated by API key — without
+it the answer is `400 Error processing request`, which reads exactly like an authentication
+failure, and it is easy to hit as a *verification* read right after a write that succeeded.
+The `/Items` list route, `?Ids=` included, does not need it, so verify a write through
+the list route. `MetadataRefreshMode`
accepts `Default` (and `Realtime`) only; `Full` and `ValidationFailure` are
rejected outright, and what forces the providers to re-run is
`ReplaceAllMetadata=true`.