Raw multi-surface JSON, engine findings (json+md), and VALIDATION.md for the
Crystal Blue Plumbing Heating & Air run. Demonstrates the GBP match gate
rejecting a wrong entity and falling back to Apple with a glyph-clean phone
('+1 (916) 571-6448').
2.4 KiB
Validation Run: Crystal Blue Plumbing Heating & Air
Date: 2026-08-14 Business: Crystal Blue Plumbing Heating & Air Location: Placerville, CA (search) — resolved to Loomis, CA (same metro) Vertical: Plumbing / HVAC (GTM-aligned) Run context: Post-fix A validation — GBP entity-match gate + phone glyph strip.
Purpose
Prove the GBP scraper no longer ingests a wrong entity and that phone/address
PUA glyphs (\ue0b0 map-pin) are stripped before the contract is built.
Surface Results
| Surface | Status | Notes |
|---|---|---|
| Google Business Profile | ⚠️ Rejected | This run the gate rejected GBP's matched entity (name="Hours") and fell back to Apple. No glyph pollution. |
| Apple Maps | ✅ Good | Primary source: full NAP, 4.2★/65, hours, website, phone (916) 571-6448 — glyph-stripped. |
| Bing Places | ❌ Failed | No data returned (known gap). |
| Website | ❌ Failed | HTTP 403 (crystalblueplumbing.com) — distinct from "no website". |
Fix Verification (Step #2)
- Phone glyph: raw GBP/Apple phone fields contained a leading
\ue0b0(BMP Private-Use-Area map-pin). Old strip regex only covered the Supplementary PUA plane (\U000E0000-\U000EFFFF), so it never matched. New regex[\ue000-\uf8ff\U000E0000-\U000EFFFF]strips both planes. Confirmed clean: phone'(916) 571-6448'—glyph? False. - Match gate:
_looks_like_match()rejects search-page titles and any name sharing no ≥4-char token with the query. Crystal Blue'sname="Hours"was rejected;RK Mechanical Air Services Inc.(Aire Serv probe) was also rejected. No false positives.
Key Findings
Engine produced findings from the merged contract (Apple primary). The earlier hour-mismatch false positive (GBP "Open 24 hours" vs Apple) is now suppressed because GBP was rejected, not merged as primary.
Reliability
- Scraper ran to completion, no crash, valid JSON. ✅
- Engine produced findings.json + findings.md. ✅
- GBP entity gate engaged correctly. ✅
- Apple fallback path produces glyph-clean phone. ✅
Artifacts
crystal_blue_plumbing_heating__air_multi_surface_2026-08-14.json— raw scrapefindings.json— engine outputfindings.md— markdown reportVALIDATION.md— this file
Verdict
Pipeline is production-usable for the next real audits. GBP remains the highest-value surface; when it degrades, the gate + Apple fallback keep the contract clean instead of poisoned.