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.
110 lines
5.9 KiB
Markdown
110 lines
5.9 KiB
Markdown
# 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 `Caveman5` valid
|
||
|
||
## 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.md` v2 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 E` on the 9 missed eps via OS REST
|