## Source discovery: Science, gardens, outdoor recreation, choral/classical music

Dead source check: `skills/source-discovery/scripts/dead-sources.py` — HTTP 403 from deployed site (same as prior cycles); unable to run automated check.

Verticals searched: botanical gardens/arboretum, science museums, outdoor recreation, choral/classical music, brewing/taprooms, fitness/yoga.

- ✅ Added: UW Botanic Gardens — Trumba ICS (`https://www.trumba.com/calendars/uwbg.ics`) — 34 upcoming events (July–November 2026); events at Washington Park Arboretum and Center for Urban Horticulture — PR pending
- ❌ Not viable: Greater Seattle Choral Consortium (`seattlesings.org/calendar/`) — custom JS `calendarData` variable embedded in HTML, no ICS/API; only ~9 Seattle events across 12 months; not worth custom scraper
- ❌ Not viable: Pacific Science Center — custom event listing, no Eventbrite organizer page, ticket sales spread across multiple platforms (Ticketmaster, Fever)
- ❌ Not viable: UW Botanic Gardens / Arboretum Foundation (`arboretumfoundation.org/events/`) — separate org from UWBG; check if has ICS in future (WordPress site, individual event ICS links only — no subscription feed)
- ❌ Not viable: Ballard Brewed Coalition — per-event ICS links only, no subscription feed
- ❌ Not viable: Elliott Bay Brewing — events page returns empty content; no calendar API identified
- 🔄 No change: UW Trumba calendars — `uwbg` calendar added today; remaining unexplored UW calendars are academic/internal and covered by existing batch

## Source discovery: Capitol Hill community calendar (user-directed)

- ✅ Added: Capitol Hill Seattle (CHS Blog) — The Events Calendar ICS feed, proxy browserbase — `sources/external/capitol-hill-seattle.yaml`
  - Site is behind Cloudflare managed challenge; per AGENTS.md exception, implemented directly at `proxy: "browserbase"` (skip rung 2)
  - WordPress confirmed; `calendar/#/` hash routing matches The Events Calendar plugin pattern (same as earshot-jazz, discover-magnolia)

## Source discovery: Early Music Seattle (re-investigation of blocked source)

- ✅ Added: Early Music Seattle — Tribe Events ICS, proxy browserbase — `sources/external/early-music-seattle.yaml`
  - Previously blocked (PR #376 removed it) because `proxy: "outofband"` was used, which cannot bypass SiteGround sgcaptcha (a JS challenge)
  - Re-investigation confirms: SiteGround sgcaptcha is a JS bot-challenge — qualifies for direct escalation to `proxy: "browserbase"` per AGENTS.md exception
  - Tribe Events ICS URL confirmed: `https://earlymusicseattle.org/?post_type=tribe_events&ical=1&eventDisplay=list`
  - ICS data shape not confirmed locally (Browserbase API key not available in sandbox); CI will verify
  - Candidate doc updated: `status: blocked` → `status: proxy`
