From 06b31f4199749ef64203189b0faf3f247715354a Mon Sep 17 00:00:00 2001 From: Luis Tanafranca <80248146+ltanafranca1004@users.noreply.github.com> Date: Fri, 31 Jul 2026 12:35:21 -0700 Subject: [PATCH 1/2] feat(events-crawler): Surrey Libraries HTML adapter MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fourth and final Phase-2 PR. The only HTML-scraping adapter: Surrey publishes no RSS, no ICS and no JSON, and its BiblioCommons tenant has the Events feature disabled — but /events?page=N is fully server-rendered, so no headless browser is needed. It earns the scraping cost. Surrey is by far the most settlement-relevant Phase-2 source: all 25 rows a run would produce are on-mission — Practice Speaking English (incl. Advanced), Settlement Services for Newcomers, Settlement & Integration Services, Employment Services for Newcomers, Employment Services for International Students, Résumé Clinic with S.U.C.C.E.S.S., Canadian Job Search Workshop, English Conversation Program (55+). That last set also confirms the relevance filter's accent folding against live data: "Résumé Clinic" only matches because the title is NFD-folded before testing. Datetimes come from the