Parse CLI arguments before installing the cached fast-flights runtime, add numeric bounds, validate date relationships early, and always use the pinned private runtime instead of arbitrary global installs.
Constraint: PR #224 helper should keep --help and invalid input paths offline and deterministic.
Rejected: Importing any global fast_flights package opportunistically | version drift can break TFS URL generation and query behavior.
Confidence: high
Scope-risk: narrow
Directive: Keep provider execution behind explicit valid commands; do not bootstrap dependencies for help or parser errors.
Tested: python3 -m py_compile flight-ticket-search/scripts/flight_ticket_search.py; FLIGHT_TICKET_SEARCH_BOOTSTRAPPED=1 python3 flight-ticket-search/scripts/flight_ticket_search.py --help; invalid return-date and step-days parser checks; git diff --check
Not-tested: Live Google Flights fetch through fast-flights.
Validate flight-ticket CLI inputs before initializing the fast-flights runtime so bad dates, same-airport routes, and impossible ranges fail quickly without network or environment-dependent setup.
Constraint: PR #224 adds a crawler-style skill whose helper must handle invalid user input conservatively before external provider access.
Rejected: Add broad round-trip comparison support | outside the minimal merge-blocking correctness fix.
Confidence: high
Scope-risk: narrow
Directive: Keep provider/runtime initialization after argparse help and local input validation.
Tested: python3 -m py_compile flight-ticket-search/scripts/flight_ticket_search.py; CLI help and invalid-input smoke checks; ./scripts/validate-skills.sh; npm run typecheck; npm run lint; npm run test
Not-tested: Live Google Flights search because local Homebrew Python has a pyexpat/libexpat linkage failure during dependency bootstrap.
Co-authored-by: OmX <omx@oh-my-codex.dev>