358347e8ba
- Extract fetchAndExtractPriceViaBrowser from deps (optional) - After primary fetch, if it errors or returns no price and fallback exists, try fallback - Fallback result replaces primary result for further processing - Retry-safety logic unchanged: last_price/last_checked_at only updated on success - All 4 new tests pass, all existing tests unchanged Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013gwc3aCiyQxmCWQke8RvEz