Movie Enrichment Pipeline
Implementation details for movie enrichment. For conceptual overview, see Operational Concepts .
┌─────────────────────────────────────────────────────────────────┐
│ SCANNING │
│ Directory Discovery → File Classification → ID Extraction │
│ See: 01-SCANNING.md │
└─────────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────────┐
│ SCRAPING │
│ Identify media → Query providers → Cache all data │
│ Implementation: 02-SCRAPING.md │
└─────────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────────┐
│ ASSET SELECTION │
│ Score candidates → Download top → pHash dedup → Select unique │
│ Implementation: 03-ASSET-SELECTION.md │
└─────────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────────┐
│ ACTOR ENRICHMENT │
│ Fetch cast data → Download headshots → Store records │
│ Implementation: 04-ACTOR-ENRICHMENT.md │
└─────────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────────┐
│ TRAILER ENRICHMENT │
│ Search YouTube → Score candidates → Download best │
│ Implementation: 05-TRAILER-ENRICHMENT.md │
└─────────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────────┐
│ PUBLISHING │
│ Copy to library → Generate NFO → Update player paths │
│ Implementation: 06-PUBLISHING.md │
└─────────────────────────────────────────────────────────────────┘
Checkpoint
Condition
If False
Scanning complete
Main movie + TMDB ID found
Manual identification required
Scraping enabled
phase.enrichment.scrapeProviders = true
Skip metadata fetch
Asset fetch
phase.enrichment.fetchProviderAssets = true
Skip image selection
Auto-select
phase.enrichment.autoSelectAssets = true
User picks in UI
Trailer enabled
asset_limit_trailer > 0
Skip trailer phase
Auto-publish
phase.general.autoPublish = true
Stop after selection
Type
Default Limit
Binary
Description
poster
3
No
Main promotional images
fanart
2
No
Background/backdrop images
logo
1
Yes
Transparent title treatment
banner
1
Yes
Wide horizontal promotional
thumb
1
Yes
Thumbnail/preview image
clearart
1
Yes
Character/scene artwork
disc
1
Yes
Physical media disc image
trailer
1
Yes
Video trailer file
Binary = only one can be selected (no multiple versions)
pending → enriching → enriched → publishing → published
↓
failed (with retry)
Symptom
Likely Phase
Check
No metadata found
Scraping
TMDB ID valid? API responding?
Missing asset options
Scraping
Asset limits > 0? Provider API keys?
Assets not downloading
Asset Selection
Cache disk space? Network access?
Wrong asset selected
Asset Selection
Language preference? Scoring weights?
No trailer options
Trailer Enrichment
Trailer limit > 0? YouTube accessible?
Assets not in library
Publishing
Auto-publish on? Library path writable?
For design principles and architecture: