runAsync creates a scraping_tasks record on job start, flushes progress counters via OnProgress, and finalizes status (done/failed/cancelled) on completion. Adds GET /api/scrape/tasks to list all historical jobs. Also fixes relative cover URLs in parseBrowsePage.