Some checks failed
QA Gate (P0/P1) / Test affected app (pull_request) Has been cancelled
prefetch was reactive-only (on decode) and processInit read top-level categories straight from DB, so a vehicle decoded but never viewed got no catalog. Add a production-only sweep so no decoded vehicle is left without catalog data. - processInit self-seeds top categories via getCategoryTree when DB has none (fetches+inserts top groups from PL24/PSA/EMEX), closing the never-viewed gap for both reactive and backfill paths - new backfill-scan job + hourly cron: phase 1 queues decoded vehicles with zero parts, phase 2 rolling createdAt-cursor rescan of all decoded vehicles (prefetch-init is idempotent → gap-fills partial ones) - guardrails: skip wave if queue backlog > 1000, per-source cooldown, business-hours window (isWithinTimeWindow), batch <=20, in-flight guard - PRODUCTION ONLY: gated on NODE_ENV both at cron registration and in processBackfillScan; dev has a separate DB and must not scrape Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>