How phd59fr/netflix-household-autovalidator works
The product monitors an IMAP mailbox for recent Netflix verification messages, parses and filters them, opens valid household-update links in a headless browser, and marks successfully handled messages as read. The README documents the IDLE-driven workflow, expired-link handling, structured trace logging, and cleanup; sampled source confirms the main processing and integration calls. Some subsidiary details are documented but not independently traced here, so the graph omits uncertain wiring.
Main entry points: processor.go Email processor · main.go Runtime entry · client.go IMAP client · config.go Config loader
Components 16
Runtime orchestration
- Runtime entry
cmd/main.go - Email processor
internal/emailprocessor/processor.go
Email intake
- IMAP client
internal/imap/client.go - Parsed email model
internal/models/email.go - Email parser
internal/mailparse/parser.go
Netflix validation
- Netflix service
internal/netflix/service.go - Rod browser
internal/netflix/browser_rod.go - Browser temp cleanup
internal/netflix/browser_rod.go
Configuration and observability
- Config loader
internal/config/config.go - Runtime settings
internal/models/config.go - JSON logger
internal/logging/logger.go
Other components
- Operator
- IMAP mailbox
- Netflix verification site
- YAML settings
config.yaml - Environment variables
Connections 22
- Operator → YAML settings: configures
- Operator → Environment variables: sets overrides
- Runtime entry → Config loader: loads settings
- Config loader → YAML settings: reads YAML
- Config loader → Environment variables: reads overrides
- Config loader → Runtime settings: builds config
- Runtime entry → IMAP client: connects and idles
- IMAP client → IMAP mailbox: authenticates and searches
- IMAP mailbox → IMAP client: signals new mail
- Runtime entry → Email processor: processes UIDs
- Email processor → IMAP client: fetches and marks seen
- IMAP client → Email processor: returns messages
- Email processor → Email parser: parses message
- Email parser → Parsed email model: creates email
- Email processor → Netflix service: handles valid email
- Netflix service → Rod browser: opens verification link
- Rod browser → Netflix verification site: navigates and confirms
- Runtime entry → Rod browser: starts cleanup
- Runtime entry → JSON logger: records runtime events
- Email processor → JSON logger: logs processing
- Netflix service → JSON logger: logs decisions
- Rod browser → JSON logger: logs browser activity