# Validation Run: Superior HVAC & Plumbing **Date:** 2026-08-14 **Business:** Superior HVAC & Plumbing **Location:** Cameron Park, CA (search) — resolved to Rancho Cucamonga, CA **Vertical:** HVAC / Plumbing (GTM-aligned) **Run context:** Second clean external run (Step B) — 4-surface extract after the GBP match-gate + phone-glyph fixes. ## Purpose Demonstrate a clean multi-surface run on a distinctive-named business and capture real cross-source NAP divergence for the audit record. ## Surface Results | Surface | Status | Notes | |---------|--------|-------| | Google Business Profile | ✅ Good | `superior plumbing, heating and air conditioning` — 2.7★/57, full hours, phone `(909) 319-0746` (glyph-stripped), website. | | Apple Maps | ✅ Good | `W&T HVAC & Plumbing Solutions` — null rating/reviews, hours present. | | Bing Places | ✅ Good | `Superior Comfort Heating & Cooling` — 4.5★/10. | | Website | ✅ Good | `https://www.superiorplumbingac.com/` (no 403). | ## Notable: Genuine Cross-Source Divergence This is NOT a scraper bug — it is real directory fragmentation the pipeline correctly captured: - **Three different business names** across GBP / Apple / Bing. - **Rating divergence:** 2.7★ (GBP) vs 4.5★ (Bing) vs null (Apple). - **Phone conflict:** GBP `(909) 319-0746` vs Apple `+1 (916) 316-5708`. - **Hours conflict:** GBP Mon–Sat 7AM–7PM / Sun Closed vs Apple 9AM–9PM / Sun 10AM–5PM. - **Website conflict:** GBP `superiorplumbingac.com` vs Apple Yelp URL. These are exactly the inconsistencies a client audit should surface. ## Fix Verification - **Phone glyph:** GBP phone came out `(909) 319-0746` with no leading `\ue0b0`. Confirmed `glyph? False`. - **Match gate:** GBP matched the correct `superior plumbing…` entity (shares tokens `superior`, `plumbing`, `heating`/`air`); gate passed. ## Reliability - All 4 surfaces returned data. ✅ - Engine flagged name/phone/website/hours mismatches across sources. ✅ - No crashes, valid JSON, findings.md generated. ✅ ## Artifacts - `superior_hvac__plumbing_multi_surface_2026-08-14.json` — raw scrape - `findings.json` — engine output - `findings.md` — markdown report - `VALIDATION.md` — this file ## Verdict Clean 4-surface run. Pipeline treats cross-source disagreement as evidence, not error. Production-usable.