processes/ -> playbooks/ (git mv preserves history; updated cross-refs in ROADMAP, README, subtitles playbook + scripts). playbooks/import-media/README.md v1.0 — 7-step import workflow: stage on onyx -> rsync to nullstone -> chmod -> verify scan -> Items/Counts bump -> optional subtitle pass -> run-log Cross-references docs/05/07/08, ADMIN-GUIDE, README. Mirrors the existing subtitles playbook structure (CHANGELOG + runs/_template). CHANGELOG v1.0 lists known gaps (bin/cleanup-import.sh and bin/normalize.py still doc-only, ROADMAP M6). First run logged: playbooks/import-media/runs/lilo-stitch-2002.md. Lilo & Stitch (2002) imported to /home/user/media/movies/, item c2f4aff133c1b9631500fadf293b0b2f, TMDb 11544, MovieCount 3 -> 4. LibraryMonitor didn't auto-fire — needed manual /Library/Refresh; playbook updated to make this an unconditional step. Source: 1080p BluRay HEVC 10-bit / EAC3 5.1 / 2x PGS embedded subs. Per quality bar (README.md:41) — passes.
5.9 KiB
Subtitle run — American Dad! (2005)
Recipe version: v1 (S01) → v2 (S02E01–E12) → v3 Addic7ed (S02E13–E16, S03, S04) Run date: 2026-05-09 Operator: Claude Code @ onyx session, ai-lab cwd OS REST quota usage: 20 → 1 (19 downloads, quota-counted) Addic7ed downloads: 30 (anonymous, no daily cap)
Source
| Field | Value |
|---|---|
| Episodes | 58 (S01=7, S02=16, S03=19, S04=16) |
| Container | mkv |
| Video | HEVC Main10, 1440×1080, 23.98 fps, 4:3 SAR 1:1 |
| Audio | eng AAC stereo (default) + eng AC3 5.1 |
| Embedded subs | none |
| Existing sidecars | none |
Library uses Hulu/DSP season ordering (S1=7 eps). Original Fox order has S1=23 eps.
Series + library context
- Series Id:
3b3bc999e9107f1a7643ac45d6427fee - Library:
767bffe4f11c93ef34b805451a696a4e(TV Shows,/media/tv) - Library options:
SaveSubtitlesWithMedia=true,SubtitleDownloadLanguages=["eng"],RequirePerfectSubtitleMatch=false✓ - Plugin: Open Subtitles v20.0.0.0, Active, creds
Caveman5valid
Outcome
| Season | Eps | Subs fetched | Quality sample | Notes |
|---|---|---|---|---|
| S01 | 7 | 7 / 7 | not yet visually verified by playback (TODO) | v1 plugin path. OMiCRON DVDRip 23.976fps |
| S02 | 16 | 16 / 16 | S02E16 first lines confirmed match episode | E01-E12 v2 OS REST (mixed OMiCRON + 20FOX); E13-E16 v3 Addic7ed (no quota cost) |
| S03 | 19 | 16 / 19 | not yet visually verified | v3 Addic7ed. Misses: E04 Lincoln Lover (a7d 0 subs), E13 Black Mystery Month (a7d empty body), E19 Joint Custody (a7d 0 subs) |
| S04 | 16 | 10 / 16 | not yet visually verified | v3 Addic7ed. Misses: E01-E05 (Vacation Goo / Meter Made / Dope & Faith / Big Trouble in Little Langley / Haylias) and E11 Oedipal Panties — all "a7d 0 subs" for the OS-feat-details S/E we passed |
Net: 49 / 58 (84 %).
Remaining 9 episodes can land via OS REST tomorrow (20-quota window covers them all in one batch).
Picks (S01)
| Episode | Sub release | Author | DLs | FPS | HI |
|---|---|---|---|---|---|
| S01E01 Pilot | American.Dad.S01E01.DVDRip.XviD.REPACK-OMiCRON |
zetakoo_ | 154 132 | 23.976 | no |
| S01E02 Threat Levels | American.Dad.S01E02.DVDRip.XviD.REPACK-OMiCRON |
(auto) | 89 896 | 23.976 | no |
| S01E03 Stan Knows Best | American.Dad.S01E03.DVDRip.XviD.REPACK-OMiCRON |
(auto) | 69 317 | 23.976 | no |
| S01E04 Francines Flashback | American.Dad.S01E04.DVDRip.XviD.REPACK-OMiCRON |
(auto) | 72 315 | 23.976 | no |
| S01E05 Roger Codger | American.Dad.S01E05.DVDRip.XviD.REPACK-OMiCRON |
(auto) | 32 309 | 23.976 | no |
| S01E06 Homeland Insecurity | American.Dad.S01E06.DVDRip.XviD.REPACK-OMiCRON |
(auto) | 67 778 | 23.976 | no |
| S01E07 Deacon Stan Jesus Man | American.Dad.S01E07.DVDRip.XviD-OMiCRON |
(auto) | 65 124 | 24 | no |
All chose by recipe Step 4 picker (highest DownloadCount among non-HI / non-MT / non-AI / non-Forced, prefer 23.976 fps). Picker behaved consistently — no manual override needed for S01.
Breakage
After S01 passed, S02E01 search returned 0 results. Verified:
- ProviderIds for S02E01 in library =
Imdb=tt0511631 Tvdb=306168(correct for "Bullocks to Stan") - Plugin quota: 13 / 20 remaining (not exhausted)
- Plugin log shows no error — silent zero
- Same recipe worked 7 times in a row immediately prior — not a script bug
- Sample-tested S02E02 / S02E08 / S02E13 → all 0 results
Root cause: library numbering is Hulu/DSP (S1=7), OpenSubtitles indexes Fox
airing order (S1=23). Plugin queries OS with (parent_imdb_id, season, episode) so library S=2 E=1 maps to a Fox cell that doesn't exist on OS
in that S/E slot, even though the per-episode IMDB id (tt0511631) is real
and indexed on OS by Fox order as S=1 E=8.
The plugin doesn't expose per-episode-IMDB lookup, only the S/E combo path, so there's no flag we can flip to make this work.
Recipe amendments triggered
- v1 → v2: process needs a season-numbering pre-check (Step 3), and a
fallback fetch path that doesn't rely on plugin S/E mapping. See
CHANGELOG.mdv2 design choice between direct OS REST (recommended) and library re-numbering.
v2 picks (S02E01–E12)
| Episode | Sub release | DLs | FPS | HI |
|---|---|---|---|---|
| S02E01 Bullocks to Stan | american.dad.s01e08.dvdrip.xvid-omicron |
25 846 | 23.976 | no |
| S02E02 A Smith in the Hand | American Dad S01E09 A Smith in the Hand.DVDRip.NonHI.cc.en.20FOX |
75 | 29.97 | no |
| S02E03 All About Steve | American Dad S01E10 All About Steve.DVDRip.NonHI.cc.en.20FOX |
2 600 | 29.97 | no |
| S02E04 Con Heir | American Dad S01E11 Con Heir.DVDRip.NonHI.cc.en.20FOX |
140 | 29.97 | no |
| S02E05 Stan of Arabia 1 | American Dad S01E12 Stan of Arabia Part 1.DVDRip.NonHI.cc.en.20FOX |
110 | 29.97 | no |
| S02E06 Stan of Arabia 2 | American Dad S01E13 Stan of Arabia Part 2.DVDRip.NonHI.cc.en.20FOX |
86 | 29.97 | no |
| S02E07 Stannie Get Your Gun | American Dad S01E14 Stannie Get Your Gun.DVDRip.NonHI.cc.en.20FOX |
99 | 29.97 | no |
| S02E08 Star Trek | American Dad [2.15] |
18 | 0.0 | no |
| S02E09 Not Particularly Desperate USER-Gwives | American Dad [2.16] |
24 | 0.0 | no |
| S02E10 Rough Trade | American Dad S01E17 Rough Trade.DVDRip.NonHI.cc.en.20FOX |
40 | 29.97 | no |
| S02E11 Finances With Wolves | American Dad [1.18] Finances with Wolves-eng |
7 730 | 23.976 | no |
| S02E12 It's Good to be the Queen | American Dad - 1x19 - Its Good to be the Queen.en |
13 228 | 23.976 | no |
Note: 8 picks are 29.97 fps. SRT timestamps are absolute time, so this should not desync on a 23.976 fps source provided NTSC durations match. Confirm via recipe Step 6 sync sample on at least one 29.97-pick episode.
Followups
- visually verify sample S01 sub plays in sync (recipe §6)
- visually verify sample S02 29.97-fps pick plays in sync (e.g. S02E03)
- visually verify sample Addic7ed pick plays in sync (e.g. S03E01 or S04E10)
- tomorrow (after 23:59 UTC quota reset): rerun
sub-rest-fetch.py --season N --start E --end Eon the 9 missed eps via OS REST