Rebuild 273 sites with open-beacon + redeploy (awaiting Drew go)๐ค agent
โ Note: SHIPPED 2026-07-13: path bug fixed in a LOCAL copy of the build script (hermes_batch_build_LOCAL.py โ original untouched) repointing LEAD_FILES/MASTER_TEMPLATES at this folder's actual layout, auto-deploy neutered during builds. All 3 verticals rebuilt fresh (hvac 100 + roofing 74 + arborist 99 = 273 unique sites, verified 1:1 against dedup registry, no dupes/no gaps). First-open tracking beacon injected into all 2730 HTML pages (10/site x 273) via new inject_beacon_LOCAL.py โ localStorage-gated fetch() to the QR-open webhook with per-lead {phone (E.164),business,slug,vertical,preview_url}, JSON-escaped business names verified via live JS eval. Deployed once to CF Pages project sis-hermes (3838 files, 2756 new). Tri-State Tree Service verified live: beacon present + "Grand Bay, AL" (not the old "AL 36541, United" corruption) + correct phone. Spot-checked 1 hvac (bensons-heating-and-air-conditioning) + 1 roofing (pro-roofing-solutions) slug live for beacon + correct phone in payload โ both pass. STILL OUTSTANDING: Drew's own live-fire acceptance test โ reopen the Tri-State postcard page from a phone/fresh browser and confirm the Telegram/GHL alert actually fires end to end (this agent verified the beacon payload is correct and reaches the webhook URL, but did not/could not trigger a real scan). Full run log: 00_ENGINE/BEACON_DEPLOY_LOG_2026-07-12.md.