PASS: normalizes URL and strips tracking/fragment PASS: 503 is transient PASS: 429 is transient PASS: 404 is permanent PASS: 403 is retryable to avoid bot-block misses PASS: transient failure is never marked processed PASS: permanent failure can be marked processed PASS: JSON-LD headline has priority PASS: JSON-LD relative image normalized PASS: JSON-LD date extracted PASS: lazy image data-src extracted PASS: article link discovered PASS: rel next pagination discovered ADVANCED_SCRAPER_CORE_OK