How sallywhite-git/frontierwildwatch works
FrontierWildWatch plans route-and-date searches, fetches Frontier availability, filters and deduplicates flights, then records run state and can alert on new fares or blocks. The graph separates planning, search execution, Frontier integration, and persistence/notifications. README documents the AI-skill and scheduled-run capabilities; their detailed runtime wiring is not shown in the excerpts, so those links are marked unverified.
Main entry points: scanner.py Scanner runner · engine.py Scan engine · planner.py Query planner · fetchers.py Frontier fetcher
Components 17
Search planning
- Query planner
src/engine/planner.py - Airport data
- Query and flight models
src/engine/models.py
Scan execution
- Scanner runner
scanner.py - Scan engine
src/engine/engine.py - Scan events
src/engine/events.py - Agent skill instructions
skills/frontier-tracker/SKILL.md
Frontier integration
- Frontier fetcher
src/engine/fetchers.py - Mobile API client
src/frontier_client.py - Frontier mobile API
State and alerts
- JSON state store
src/state_store.py - Notifier adapter
src/engine/notifiers.py - Telegram sender
src/notify_telegram.py - Telegram service
Other components
- Flight-search user
- Cron scheduler
- AI skill agent
Connections 17
- Flight-search user → Scanner runner: runs scans
README.md - Cron scheduler → Scanner runner: schedules runs
README.md - AI skill agent → Agent skill instructions: uses instructions
README.md - AI skill agent → Scanner runner: invokes commands
README.md - Scanner runner → Query planner: plans queries
scanner.py - Query planner → Airport data: loads airport data
src/engine/planner.py - Query planner → Query and flight models: creates query specs
src/engine/planner.py - Scanner runner → Scan engine: runs scan engine
scanner.py - Scan engine → Frontier fetcher: fetches queries
src/engine/engine.py - Scan engine → Scan events: emits events
src/engine/engine.py - Scan engine → Query and flight models: uses flight models
src/engine/engine.py - Frontier fetcher → Mobile API client: requests outcomes
src/engine/fetchers.py - Mobile API client → Frontier mobile API: searches availability
README.md - Scanner runner → JSON state store: loads and saves
scanner.py - Scanner runner → Notifier adapter: sends alerts
scanner.py - Notifier adapter → Telegram sender: delegates sends
src/engine/notifiers.py - Telegram sender → Telegram service: posts messages
src/notify_telegram.py