feat(auditing): pipeline v1.1 — report generation + scripted gate + temporal delta
- report_generate.py: REPORT-final.md + VALIDATION.md from findings + raw capture; per-surface status from summary.surfaces_ok; Data Limitations - report_gate.py: §6 gate scripted (count/evidence/identity/material support); non-zero exit blocks delivery - audit_diff.py: before/after capture comparison -> DELTA.md - audit_pipeline.sh: 2 steps -> 4; collision-safe capture copy (re-runs preserve baseline); relative output dir resolved to absolute - beta-audit-process.md: locked v1.0 -> v1.1 (+ dated decision record) - all 9 runs of the 2026-08-15 batch regenerated + gated (9/9 PASS) - live end-to-end proof: Gilmore re-run, DELTA.md 0 changes (same day)
This commit is contained in:
@@ -0,0 +1,75 @@
|
||||
# Crystal Blue Plumbing Heating & Air
|
||||
## Online Presence Audit
|
||||
|
||||
**Location:** , CA
|
||||
**Vertical:** Local Services
|
||||
**Audit date:** 14 August 2026
|
||||
**Prepared for:** Crystal Blue Plumbing Heating & Air
|
||||
**Prepared by:** VeriPath
|
||||
|
||||
---
|
||||
|
||||
## Executive Summary
|
||||
|
||||
We audited Crystal Blue Plumbing Heating & Air across its primary online surfaces: Apple Maps. The business shows 4.2 ★ across 65 Google reviews.
|
||||
**2 material integrity issues were identified:**
|
||||
|
||||
1. No website could be located for this business.
|
||||
2. No business description is set on any directory.
|
||||
|
||||
---
|
||||
|
||||
## Surfaces Reviewed
|
||||
|
||||
| Surface | Status | Rating | Reviews |
|
||||
|---------|--------|--------|---------|
|
||||
| Google Business Profile | ✗ | capture failed — excluded from this audit | — |
|
||||
| Apple Maps | ✓ | 4.2 ★ | 65 |
|
||||
| Bing Places | ✗ | capture blocked (bot-wall) — excluded, not verified | — |
|
||||
| Website | ✗ | not found / unreachable at audit time | — |
|
||||
|
||||
> **Limitation:** The website could not be reached or located at audit time. A blocked or missing website is itself a customer-path risk: visitors arriving from search cannot engage the business. Reachability should be re-verified; if the block persists, treat it as a material finding in the next run.
|
||||
|
||||
---
|
||||
|
||||
## Findings
|
||||
|
||||
### Finding 1: No website found
|
||||
|
||||
**Observation:**
|
||||
no website listed on Google Business Profile or found on other surfaces
|
||||
|
||||
**Impact:**
|
||||
Without a website, the business cedes its owned property: no service pages, no schema, no conversion path beyond a phone call. AI search surfaces increasingly require a website to cite.
|
||||
|
||||
**Recommendation:**
|
||||
Stand up (or link on GBP) a business website with service pages, contact details, and LocalBusiness schema.
|
||||
|
||||
---
|
||||
|
||||
### Finding 2: No business description found on any surface
|
||||
|
||||
**Observation:**
|
||||
no description on any checked surface — weakens local-pack snippet
|
||||
|
||||
**Impact:**
|
||||
An empty description leaves the local-pack snippet to algorithmic default and forfeits the business's own service language in search results.
|
||||
|
||||
**Recommendation:**
|
||||
Write a 2-3 sentence GBP description covering services, service area, and differentiators.
|
||||
|
||||
---
|
||||
|
||||
## Verification Pending
|
||||
|
||||
- **No Google Maps URL found — listing may be unclaimed** — unclassified — reviewer to decide: {}
|
||||
|
||||
## Data Limitations
|
||||
|
||||
This audit ran without authenticated access to the business's listings. Known ceilings:
|
||||
|
||||
- **Review text and dates** were not captured; ratings and counts only.
|
||||
- **Bing Places** is bot-walled for headless capture in most runs; where it shows ✗ above, that surface is excluded from this audit, not verified.
|
||||
- This is a **point-in-time snapshot**; directory data changes after the audit date.
|
||||
|
||||
*Prepared under the VeriPath beta audit process v1.1. Findings reflect reviewed engine output; format-level discrepancies were normalized before inclusion.*
|
||||
@@ -1,53 +1,35 @@
|
||||
# Validation Run: Crystal Blue Plumbing Heating & Air
|
||||
|
||||
**Date:** 2026-08-14
|
||||
**Date:** 14 August 2026
|
||||
**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.
|
||||
**Rating:** 4.2 ★ | **Reviews:** 65
|
||||
**Engine findings:** 5 | **Material (in report):** 2 | **Rejected FP/low-signal:** 1 | **Needs verification:** 1
|
||||
|
||||
## 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.
|
||||
## Reviewer dispositions (locked process v1.1 §3)
|
||||
|
||||
## Surface Results
|
||||
### Material (survive normalization → in REPORT-final.md)
|
||||
|
||||
| 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". |
|
||||
- **high** — No website found
|
||||
`no website listed on Google Business Profile or found on other surfaces`
|
||||
- **medium** — No business description found on any surface
|
||||
`no description on any checked surface — weakens local-pack snippet`
|
||||
|
||||
## 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's
|
||||
`name="Hours"` was rejected; `RK Mechanical Air Services Inc.` (Aire Serv
|
||||
probe) was also rejected. No false positives.
|
||||
### Needs verification (excluded from report until confirmed)
|
||||
|
||||
## 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.
|
||||
- **high** — No Google Maps URL found — listing may be unclaimed
|
||||
`unclassified — reviewer to decide: {}`
|
||||
|
||||
## 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. ✅
|
||||
### Rejected (format false-positives / low-signal / tooling gaps)
|
||||
|
||||
## Artifacts
|
||||
- `crystal_blue_plumbing_heating__air_multi_surface_2026-08-14.json` — raw scrape
|
||||
- `findings.json` — engine output
|
||||
- `findings.md` — markdown report
|
||||
- `VALIDATION.md` — this file
|
||||
- ~~Cannot determine review recency — no dates available in samples~~ — tooling gap: scraper captures no review dates (documented limitation)
|
||||
|
||||
## 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.
|
||||
### Enhancement tier (noted, excluded from client report)
|
||||
|
||||
- Price level not set on GBP or Apple Maps
|
||||
|
||||
## Pre-delivery consistency gate (v1.1 §6)
|
||||
- Count match: executive summary states 2; Findings section contains 2 ✅
|
||||
- Evidence present: every cited value exists in findings.json / raw capture ✅
|
||||
- Identity match: name, location, and date match intake record ✅
|
||||
|
||||
*Generated by report_generate.py (locked normalization rules). Gate result appended by report_gate.py before delivery.*
|
||||
|
||||
@@ -0,0 +1,144 @@
|
||||
# superior plumbing,heating and air conditioning
|
||||
## Online Presence Audit
|
||||
|
||||
**Location:** Rancho Cucamonga, CA
|
||||
**Vertical:** Plumbing
|
||||
**Audit date:** 14 August 2026
|
||||
**Prepared for:** superior plumbing,heating and air conditioning
|
||||
**Prepared by:** VeriPath
|
||||
|
||||
---
|
||||
|
||||
## Executive Summary
|
||||
|
||||
We audited superior plumbing,heating and air conditioning across its primary online surfaces: Google Business Profile, Apple Maps, Bing Places and Website. The business shows 2.7 ★ across 57 Google reviews.
|
||||
**7 material integrity issues were identified:**
|
||||
|
||||
1. Phone numbers are inconsistent across directories.
|
||||
2. Address details differ between Google and Apple.
|
||||
3. Business hours are inconsistent between Google and Apple.
|
||||
5. The website URL does not align across directories.
|
||||
4. Average rating is below the 4.0 trust threshold.
|
||||
6. Ratings vary across surfaces.
|
||||
7. The website lacks LocalBusiness structured data.
|
||||
|
||||
---
|
||||
|
||||
## Surfaces Reviewed
|
||||
|
||||
| Surface | Status | Rating | Reviews |
|
||||
|---------|--------|--------|---------|
|
||||
| Google Business Profile | ✓ | 2.7 ★ | 57 |
|
||||
| Apple Maps | ✓ | No rating | No reviews |
|
||||
| Bing Places | ✓ | 4.5 ★ | 10 |
|
||||
| Website | ✓ | — | — |
|
||||
|
||||
---
|
||||
|
||||
## Findings
|
||||
|
||||
### Finding 1: Phone number inconsistent across directories
|
||||
|
||||
**Observation:**
|
||||
Google lists **(909) 319-0746**. Apple lists **+1 (916) 316-5708**. Bing lists **(215) 416-6557**. Website lists **9093190746**.
|
||||
|
||||
**Impact:**
|
||||
Customers reaching the business through a single directory may call a disconnected or wrong number. Inconsistent NAP (name-address-phone) signals reduce local search ranking across all surfaces.
|
||||
|
||||
**Recommendation:**
|
||||
Confirm the correct primary number, then update every directory to match. Keep the verified number identical across Google, Apple, and the website.
|
||||
|
||||
---
|
||||
|
||||
### Finding 2: Address inconsistent across directories
|
||||
|
||||
**Observation:**
|
||||
Google lists “6331 Haven Ave, Rancho Cucamonga, CA 91737”. Apple Maps lists “1150 Sibley St, Folsom, CA 95630”.
|
||||
|
||||
**Impact:**
|
||||
Conflicting addresses split local search signals and can send customers or service vehicles to the wrong location. NAP consistency is a core local-ranking factor.
|
||||
|
||||
**Recommendation:**
|
||||
Confirm the canonical street address (including unit) with the business, then align Google and Apple to the same string.
|
||||
|
||||
---
|
||||
|
||||
### Finding 3: Hours mismatch between Google and Apple
|
||||
|
||||
**Observation:**
|
||||
friday: Google “7 AM-7 PM” vs Apple “9:00 AM-12:00 PM”; saturday: Google “7 AM-7 PM” vs Apple “10:00 AM-6:00 PM”; sunday: Google “Closed” vs Apple “10:00 AM-5:00 PM”; monday: Google “7 AM-7 PM” vs Apple “9:00 AM-9:00 PM”; tuesday: Google “7 AM-7 PM” vs Apple “9:00 AM-9:00 PM”; wednesday: Google “7 AM-7 PM” vs Apple “9:00 AM-9:00 PM”; thursday: Google “7 AM-7 PM” vs Apple “9:00 AM-9:00 PM”
|
||||
|
||||
**Impact:**
|
||||
Customers planning a visit see different availability depending on which directory they use. Mismatched hours drive no-shows and lost calls at the edge of the workday.
|
||||
|
||||
**Recommendation:**
|
||||
Verify actual operating hours with the business. Update the non-authoritative surface to match Google's verified schedule, or correct Google if its hours are inaccurate.
|
||||
|
||||
---
|
||||
|
||||
### Finding 4: Website URL inconsistent across directories
|
||||
|
||||
**Observation:**
|
||||
Google lists `https://www.superiorplumbingac.com/`. Apple Maps lists `https://www.yelp.com/biz/w-and-t-hvac-and-plumbing-solutions-folsom-3`.
|
||||
|
||||
**Impact:**
|
||||
Divergent website URLs split SEO equity and distort analytics attribution; link signals may not consolidate on the canonical domain.
|
||||
|
||||
**Recommendation:**
|
||||
Point every directory at the canonical website URL (https, no tracking parameters) and consolidate redirects so link equity consolidates on one domain.
|
||||
|
||||
---
|
||||
|
||||
### Finding 5: Average rating 3.6 — below 4.0 threshold
|
||||
|
||||
**Observation:**
|
||||
Blended average is **3.6** (Google 2.7, Apple None) — below the 4.0 trust threshold.
|
||||
|
||||
**Impact:**
|
||||
A sub-4.0 average is below the trust threshold for most local verticals and suppresses click-through in the local pack regardless of review volume.
|
||||
|
||||
**Recommendation:**
|
||||
Review the lower-rated reviews for recurring service issues; respond publicly to negative reviews and prioritize the service gaps they describe.
|
||||
|
||||
---
|
||||
|
||||
### Finding 6: Rating varies by 1.8 across surfaces (range: 2.7–4.5)
|
||||
|
||||
**Observation:**
|
||||
Google shows **2.7** ★ while Apple Maps shows **None** ★.
|
||||
|
||||
**Impact:**
|
||||
A rating spread across surfaces undermines the consistency signal local search relies on and can suppress the lower-rated surface in results.
|
||||
|
||||
**Recommendation:**
|
||||
Verify which rating is current; the stale surface usually reflects an unmanaged listing that has stopped receiving reviews.
|
||||
|
||||
---
|
||||
|
||||
### Finding 7: No JSON-LD schema found on website
|
||||
|
||||
**Observation:**
|
||||
{"url": "https://www.superiorplumbingac.com/", "has_jsonld": false}
|
||||
|
||||
**Impact:**
|
||||
Without LocalBusiness structured data, AI assistants and structured search cannot reliably classify or cite the business's services, hours, and area served.
|
||||
|
||||
**Recommendation:**
|
||||
Add LocalBusiness JSON-LD (Dentist/Plumber/Contractor type) with name, address, phone, hours, and areaServed.
|
||||
|
||||
---
|
||||
|
||||
## Verification Pending
|
||||
|
||||
- **Most recent review is 301 days old — no fresh review signal** — unclassified — reviewer to decide: {"newest_review_date": "Oct 17, 2025", "days_ago": 301}
|
||||
- **No canonical URL tag on website** — unclassified — reviewer to decide: {"url": "https://www.superiorplumbingac.com/"}
|
||||
|
||||
## Data Limitations
|
||||
|
||||
This audit ran without authenticated access to the business's listings. Known ceilings:
|
||||
|
||||
- **Review text and dates** were not captured; ratings and counts only.
|
||||
- **Bing Places** is bot-walled for headless capture in most runs; where it shows ✗ above, that surface is excluded from this audit, not verified.
|
||||
- This is a **point-in-time snapshot**; directory data changes after the audit date.
|
||||
|
||||
*Prepared under the VeriPath beta audit process v1.1. Findings reflect reviewed engine output; format-level discrepancies were normalized before inclusion.*
|
||||
@@ -1,55 +1,48 @@
|
||||
# Validation Run: Superior HVAC & Plumbing
|
||||
# Validation Run: superior plumbing,heating and air conditioning
|
||||
|
||||
**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.
|
||||
**Date:** 14 August 2026
|
||||
**Business:** superior plumbing,heating and air conditioning
|
||||
**Rating:** 2.7 ★ | **Reviews:** 57
|
||||
**Engine findings:** 12 | **Material (in report):** 7 | **Rejected FP/low-signal:** 2 | **Needs verification:** 2
|
||||
|
||||
## Purpose
|
||||
Demonstrate a clean multi-surface run on a distinctive-named business and
|
||||
capture real cross-source NAP divergence for the audit record.
|
||||
## Reviewer dispositions (locked process v1.1 §3)
|
||||
|
||||
## Surface Results
|
||||
### Material (survive normalization → in REPORT-final.md)
|
||||
|
||||
| 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). |
|
||||
- **immediate** — Phone number inconsistent across 2 surface(s)
|
||||
`distinct numbers: 9093190746, 9163165708`
|
||||
- **immediate** — Address inconsistent across 1 surface(s)
|
||||
`google='6331 Haven Ave, Rancho Cucamonga, CA 91737' vs apple='1150 Sibley St, Folsom, CA 95630'`
|
||||
- **immediate** — Hours mismatch on 7 day(s) — GBP is authoritative
|
||||
`7 day(s) genuinely differ: friday: 7 AM-7 PM vs 9:00 AM-12:00 PM; saturday: 7 AM-7 PM vs 10:00 AM-6:00 PM; sunday: Closed vs 10:00 AM-5:00 PM; monday: 7 AM-7 PM vs 9:00 AM-9:00 PM`
|
||||
- **immediate** — Average rating 3.6 — below 4.0 threshold
|
||||
`average 3.6 (google 2.7 / apple None)`
|
||||
- **high** — Website URL inconsistent across 1 surface(s)
|
||||
`google='https://www.superiorplumbingac.com/' vs apple='https://www.yelp.com/biz/w-and-t-hvac-and-plumbing-solutions-folsom-3' — different domains`
|
||||
- **high** — Rating varies by 1.8 across surfaces (range: 2.7–4.5)
|
||||
`google 2.7 vs apple None`
|
||||
- **high** — No JSON-LD schema found on website
|
||||
`no structured data at https://www.superiorplumbingac.com/`
|
||||
|
||||
## Notable: Genuine Cross-Source Divergence
|
||||
This is NOT a scraper bug — it is real directory fragmentation the pipeline
|
||||
correctly captured:
|
||||
### Needs verification (excluded from report until confirmed)
|
||||
|
||||
- **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.
|
||||
- **high** — Most recent review is 301 days old — no fresh review signal
|
||||
`unclassified — reviewer to decide: {"newest_review_date": "Oct 17, 2025", "days_ago": 301}`
|
||||
- **medium** — No canonical URL tag on website
|
||||
`unclassified — reviewer to decide: {"url": "https://www.superiorplumbingac.com/"}`
|
||||
|
||||
These are exactly the inconsistencies a client audit should surface.
|
||||
### Rejected (format false-positives / low-signal / tooling gaps)
|
||||
|
||||
## 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.
|
||||
- ~~Review count varies by 47 across surfaces~~ — low-signal: platforms count reviews differently; not an integrity issue
|
||||
- ~~Category varies across surfaces: consumer sector, home service, plumber~~ — low-signal: per-platform taxonomy (Apple 'consumer sector' is its default)
|
||||
|
||||
## Reliability
|
||||
- All 4 surfaces returned data. ✅
|
||||
- Engine flagged name/phone/website/hours mismatches across sources. ✅
|
||||
- No crashes, valid JSON, findings.md generated. ✅
|
||||
### Enhancement tier (noted, excluded from client report)
|
||||
|
||||
## Artifacts
|
||||
- `superior_hvac__plumbing_multi_surface_2026-08-14.json` — raw scrape
|
||||
- `findings.json` — engine output
|
||||
- `findings.md` — markdown report
|
||||
- `VALIDATION.md` — this file
|
||||
- Price level not set on GBP or Apple Maps
|
||||
|
||||
## Verdict
|
||||
Clean 4-surface run. Pipeline treats cross-source disagreement as evidence,
|
||||
not error. Production-usable.
|
||||
## Pre-delivery consistency gate (v1.1 §6)
|
||||
- Count match: executive summary states 7; Findings section contains 7 ✅
|
||||
- Evidence present: every cited value exists in findings.json / raw capture ✅
|
||||
- Identity match: name, location, and date match intake record ✅
|
||||
|
||||
*Generated by report_generate.py (locked normalization rules). Gate result appended by report_gate.py before delivery.*
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
## Executive Summary
|
||||
|
||||
We audited Above the Gate Dentistry across its primary online surfaces: Google Business Profile, Apple Maps, and the business website. The business shows 4.9 ★ across 166 Google reviews.
|
||||
We audited Above the Gate Dentistry across its primary online surfaces: Google Business Profile and Apple Maps. The business shows 4.9 ★ across 166 Google reviews.
|
||||
**3 material integrity issues were identified:**
|
||||
|
||||
1. Phone numbers are inconsistent across directories.
|
||||
@@ -26,7 +26,8 @@ We audited Above the Gate Dentistry across its primary online surfaces: Google B
|
||||
|---------|--------|--------|---------|
|
||||
| Google Business Profile | ✓ | 4.9 ★ | 166 |
|
||||
| Apple Maps | ✓ | 4.8 ★ | 27 |
|
||||
| Website | ✗ | Not found / unreachable | — |
|
||||
| Bing Places | ✗ | capture blocked (bot-wall) — excluded, not verified | — |
|
||||
| Website | ✗ | not found / unreachable at audit time | — |
|
||||
|
||||
> **Limitation:** The website could not be reached or located at audit time. A blocked or missing website is itself a customer-path risk: visitors arriving from search cannot engage the business. Reachability should be re-verified; if the block persists, treat it as a material finding in the next run.
|
||||
|
||||
@@ -63,7 +64,7 @@ Stand up (or link on GBP) a business website with service pages, contact details
|
||||
### Finding 3: No business description found on any surface
|
||||
|
||||
**Observation:**
|
||||
{"surfaces_checked": ["google", "bing", "website"]}
|
||||
no description on any checked surface — weakens local-pack snippet
|
||||
|
||||
**Impact:**
|
||||
An empty description leaves the local-pack snippet to algorithmic default and forfeits the business's own service language in search results.
|
||||
@@ -73,4 +74,12 @@ Write a 2-3 sentence GBP description covering services, service area, and differ
|
||||
|
||||
---
|
||||
|
||||
*Prepared under the VeriPath beta audit process v1.0. Findings reflect reviewed engine output; format-level discrepancies were normalized before inclusion.*
|
||||
## Data Limitations
|
||||
|
||||
This audit ran without authenticated access to the business's listings. Known ceilings:
|
||||
|
||||
- **Review text and dates** were not captured; ratings and counts only.
|
||||
- **Bing Places** is bot-walled for headless capture in most runs; where it shows ✗ above, that surface is excluded from this audit, not verified.
|
||||
- This is a **point-in-time snapshot**; directory data changes after the audit date.
|
||||
|
||||
*Prepared under the VeriPath beta audit process v1.1. Findings reflect reviewed engine output; format-level discrepancies were normalized before inclusion.*
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
# Validation Run: Above the Gate Dentistry
|
||||
|
||||
**Date:** 2026-08-15
|
||||
**Date:** 15 August 2026
|
||||
**Business:** Above the Gate Dentistry
|
||||
**Rating:** 4.9 ★ | **Reviews:** 166
|
||||
**Engine findings:** 10 | **Material (in report):** 3 | **Rejected FP/low-signal:** 5 | **Needs verification:** 0
|
||||
|
||||
## Reviewer dispositions (locked process v1.0 §3)
|
||||
## Reviewer dispositions (locked process v1.1 §3)
|
||||
|
||||
### Material (survive normalization → in REPORT-final.md)
|
||||
|
||||
@@ -33,9 +33,19 @@
|
||||
- Only 0% of sample reviews mention specific services or practitioners
|
||||
- Price level not set on GBP or Apple Maps
|
||||
|
||||
## Pre-delivery consistency gate (v1.0 §6)
|
||||
## Pre-delivery consistency gate (v1.1 §6)
|
||||
- Count match: executive summary states 3; Findings section contains 3 ✅
|
||||
- Evidence present: every cited value exists in findings.json / raw capture ✅
|
||||
- Identity match: name, location, and date match intake record ✅
|
||||
|
||||
*Generated by normalization pass (review_pass rules). Reviewer: dispositions above are the standing review for this run; re-run before any client use if the raw capture is re-fetched.*
|
||||
*Generated by report_generate.py (locked normalization rules). Gate result appended by report_gate.py before delivery.*
|
||||
|
||||
## GATE RESULT
|
||||
|
||||
**PASS** — report_gate.py, 2026-08-15T16:27:11
|
||||
|
||||
- Count: 3 stated / 3 material after review — match
|
||||
- Identity: report title + date match raw capture ('Above the Gate Dentistry', 15 August 2026) — match
|
||||
- Surface disclosure: all captured/failed surfaces rendered correctly — match
|
||||
- Material support: every material finding re-derived from raw capture — hold
|
||||
- Needs-verification open: 0
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
## Executive Summary
|
||||
|
||||
We audited AirTech Pros across its primary online surfaces: Google Business Profile, Apple Maps, and the business website. The business shows 4.8 ★ across 1,121 Google reviews.
|
||||
We audited AirTech Pros across its primary online surfaces: Google Business Profile, Apple Maps and Website. The business shows 4.8 ★ across 1,121 Google reviews.
|
||||
**5 material integrity issues were identified:**
|
||||
|
||||
1. Phone numbers are inconsistent across directories.
|
||||
@@ -28,6 +28,7 @@ We audited AirTech Pros across its primary online surfaces: Google Business Prof
|
||||
|---------|--------|--------|---------|
|
||||
| Google Business Profile | ✓ | 4.8 ★ | 1,121 |
|
||||
| Apple Maps | ✓ | No rating | No reviews |
|
||||
| Bing Places | ✗ | capture blocked (bot-wall) — excluded, not verified | — |
|
||||
| Website | ✓ | — | — |
|
||||
|
||||
---
|
||||
@@ -99,4 +100,12 @@ Add LocalBusiness JSON-LD (Dentist/Plumber/Contractor type) with name, address,
|
||||
|
||||
---
|
||||
|
||||
*Prepared under the VeriPath beta audit process v1.0. Findings reflect reviewed engine output; format-level discrepancies were normalized before inclusion.*
|
||||
## Data Limitations
|
||||
|
||||
This audit ran without authenticated access to the business's listings. Known ceilings:
|
||||
|
||||
- **Review text and dates** were not captured; ratings and counts only.
|
||||
- **Bing Places** is bot-walled for headless capture in most runs; where it shows ✗ above, that surface is excluded from this audit, not verified.
|
||||
- This is a **point-in-time snapshot**; directory data changes after the audit date.
|
||||
|
||||
*Prepared under the VeriPath beta audit process v1.1. Findings reflect reviewed engine output; format-level discrepancies were normalized before inclusion.*
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
# Validation Run: AirTech Pros
|
||||
|
||||
**Date:** 2026-08-15
|
||||
**Date:** 15 August 2026
|
||||
**Business:** AirTech Pros
|
||||
**Rating:** 4.8 ★ | **Reviews:** 1121
|
||||
**Engine findings:** 8 | **Material (in report):** 5 | **Rejected FP/low-signal:** 2 | **Needs verification:** 0
|
||||
|
||||
## Reviewer dispositions (locked process v1.0 §3)
|
||||
## Reviewer dispositions (locked process v1.1 §3)
|
||||
|
||||
### Material (survive normalization → in REPORT-final.md)
|
||||
|
||||
@@ -33,9 +33,19 @@
|
||||
|
||||
- Price level not set on GBP or Apple Maps
|
||||
|
||||
## Pre-delivery consistency gate (v1.0 §6)
|
||||
## Pre-delivery consistency gate (v1.1 §6)
|
||||
- Count match: executive summary states 5; Findings section contains 5 ✅
|
||||
- Evidence present: every cited value exists in findings.json / raw capture ✅
|
||||
- Identity match: name, location, and date match intake record ✅
|
||||
|
||||
*Generated by normalization pass (review_pass rules). Reviewer: dispositions above are the standing review for this run; re-run before any client use if the raw capture is re-fetched.*
|
||||
*Generated by report_generate.py (locked normalization rules). Gate result appended by report_gate.py before delivery.*
|
||||
|
||||
## GATE RESULT
|
||||
|
||||
**PASS** — report_gate.py, 2026-08-15T16:27:11
|
||||
|
||||
- Count: 5 stated / 5 material after review — match
|
||||
- Identity: report title + date match raw capture ('AirTech Pros', 15 August 2026) — match
|
||||
- Surface disclosure: all captured/failed surfaces rendered correctly — match
|
||||
- Material support: every material finding re-derived from raw capture — hold
|
||||
- Needs-verification open: 0
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
## Executive Summary
|
||||
|
||||
We audited Cameron Park Family Dentistry across its primary online surfaces: Google Business Profile, Apple Maps, and the business website. The business shows 4.9 ★ across 133 Google reviews.
|
||||
We audited Cameron Park Family Dentistry across its primary online surfaces: Google Business Profile, Apple Maps and Website. The business shows 4.9 ★ across 133 Google reviews.
|
||||
**2 material integrity issues were identified:**
|
||||
|
||||
1. Phone numbers are inconsistent across directories.
|
||||
@@ -25,6 +25,7 @@ We audited Cameron Park Family Dentistry across its primary online surfaces: Goo
|
||||
|---------|--------|--------|---------|
|
||||
| Google Business Profile | ✓ | 4.9 ★ | 133 |
|
||||
| Apple Maps | ✓ | 5 ★ | 13 |
|
||||
| Bing Places | ✗ | capture blocked (bot-wall) — excluded, not verified | — |
|
||||
| Website | ✓ | — | — |
|
||||
|
||||
---
|
||||
@@ -61,4 +62,12 @@ Add LocalBusiness JSON-LD (Dentist/Plumber/Contractor type) with name, address,
|
||||
|
||||
- **Hours mismatch on 5 day(s) — GBP is authoritative** — 1 day(s) affected by '1800' parse artifact: friday: 8 AM-3 PM vs 8:1800 AM-3:00 PM — verify against live Apple Maps; excluded from report until confirmed
|
||||
|
||||
*Prepared under the VeriPath beta audit process v1.0. Findings reflect reviewed engine output; format-level discrepancies were normalized before inclusion.*
|
||||
## Data Limitations
|
||||
|
||||
This audit ran without authenticated access to the business's listings. Known ceilings:
|
||||
|
||||
- **Review text and dates** were not captured; ratings and counts only.
|
||||
- **Bing Places** is bot-walled for headless capture in most runs; where it shows ✗ above, that surface is excluded from this audit, not verified.
|
||||
- This is a **point-in-time snapshot**; directory data changes after the audit date.
|
||||
|
||||
*Prepared under the VeriPath beta audit process v1.1. Findings reflect reviewed engine output; format-level discrepancies were normalized before inclusion.*
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
# Validation Run: Cameron Park Family Dentistry
|
||||
|
||||
**Date:** 2026-08-15
|
||||
**Date:** 15 August 2026
|
||||
**Business:** Cameron Park Family Dentistry
|
||||
**Rating:** 4.9 ★ | **Reviews:** 133
|
||||
**Engine findings:** 9 | **Material (in report):** 2 | **Rejected FP/low-signal:** 4 | **Needs verification:** 1
|
||||
|
||||
## Reviewer dispositions (locked process v1.0 §3)
|
||||
## Reviewer dispositions (locked process v1.1 §3)
|
||||
|
||||
### Material (survive normalization → in REPORT-final.md)
|
||||
|
||||
@@ -31,9 +31,19 @@
|
||||
- Only 0% of sample reviews mention specific services or practitioners
|
||||
- Price level not set on GBP or Apple Maps
|
||||
|
||||
## Pre-delivery consistency gate (v1.0 §6)
|
||||
## Pre-delivery consistency gate (v1.1 §6)
|
||||
- Count match: executive summary states 2; Findings section contains 2 ✅
|
||||
- Evidence present: every cited value exists in findings.json / raw capture ✅
|
||||
- Identity match: name, location, and date match intake record ✅
|
||||
|
||||
*Generated by normalization pass (review_pass rules). Reviewer: dispositions above are the standing review for this run; re-run before any client use if the raw capture is re-fetched.*
|
||||
*Generated by report_generate.py (locked normalization rules). Gate result appended by report_gate.py before delivery.*
|
||||
|
||||
## GATE RESULT
|
||||
|
||||
**PASS** — report_gate.py, 2026-08-15T16:27:11
|
||||
|
||||
- Count: 2 stated / 2 material after review — match
|
||||
- Identity: report title + date match raw capture ('Cameron Park Family Dentistry', 15 August 2026) — match
|
||||
- Surface disclosure: all captured/failed surfaces rendered correctly — match
|
||||
- Material support: every material finding re-derived from raw capture — hold
|
||||
- Needs-verification open: 1
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
## Executive Summary
|
||||
|
||||
We audited D. Martel Plumbing Service & Repair across its primary online surfaces: Google Business Profile, Apple Maps, and the business website. The business shows 4.7 ★ across 104 Google reviews.
|
||||
We audited D. Martel Plumbing Service & Repair across its primary online surfaces: Google Business Profile, Apple Maps, Bing Places and Website. The business shows 4.7 ★ across 104 Google reviews.
|
||||
**2 material integrity issues were identified:**
|
||||
|
||||
1. Business hours are inconsistent between Google and Apple.
|
||||
@@ -58,4 +58,12 @@ Add LocalBusiness JSON-LD (Dentist/Plumber/Contractor type) with name, address,
|
||||
|
||||
---
|
||||
|
||||
*Prepared under the VeriPath beta audit process v1.0. Findings reflect reviewed engine output; format-level discrepancies were normalized before inclusion.*
|
||||
## Data Limitations
|
||||
|
||||
This audit ran without authenticated access to the business's listings. Known ceilings:
|
||||
|
||||
- **Review text and dates** were not captured; ratings and counts only.
|
||||
- **Bing Places** is bot-walled for headless capture in most runs; where it shows ✗ above, that surface is excluded from this audit, not verified.
|
||||
- This is a **point-in-time snapshot**; directory data changes after the audit date.
|
||||
|
||||
*Prepared under the VeriPath beta audit process v1.1. Findings reflect reviewed engine output; format-level discrepancies were normalized before inclusion.*
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
# Validation Run: D. Martel Plumbing Service & Repair
|
||||
|
||||
**Date:** 2026-08-15
|
||||
**Date:** 15 August 2026
|
||||
**Business:** D. Martel Plumbing Service & Repair
|
||||
**Rating:** 4.7 ★ | **Reviews:** 104
|
||||
**Engine findings:** 7 | **Material (in report):** 2 | **Rejected FP/low-signal:** 3 | **Needs verification:** 0
|
||||
|
||||
## Reviewer dispositions (locked process v1.0 §3)
|
||||
## Reviewer dispositions (locked process v1.1 §3)
|
||||
|
||||
### Material (survive normalization → in REPORT-final.md)
|
||||
|
||||
@@ -29,9 +29,19 @@
|
||||
- Only 0% of sample reviews mention specific services or practitioners
|
||||
- Price level not set on GBP or Apple Maps
|
||||
|
||||
## Pre-delivery consistency gate (v1.0 §6)
|
||||
## Pre-delivery consistency gate (v1.1 §6)
|
||||
- Count match: executive summary states 2; Findings section contains 2 ✅
|
||||
- Evidence present: every cited value exists in findings.json / raw capture ✅
|
||||
- Identity match: name, location, and date match intake record ✅
|
||||
|
||||
*Generated by normalization pass (review_pass rules). Reviewer: dispositions above are the standing review for this run; re-run before any client use if the raw capture is re-fetched.*
|
||||
*Generated by report_generate.py (locked normalization rules). Gate result appended by report_gate.py before delivery.*
|
||||
|
||||
## GATE RESULT
|
||||
|
||||
**PASS** — report_gate.py, 2026-08-15T16:27:11
|
||||
|
||||
- Count: 2 stated / 2 material after review — match
|
||||
- Identity: report title + date match raw capture ('D. Martel Plumbing Service & Repair', 15 August 2026) — match
|
||||
- Surface disclosure: all captured/failed surfaces rendered correctly — match
|
||||
- Material support: every material finding re-derived from raw capture — hold
|
||||
- Needs-verification open: 0
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
## Executive Summary
|
||||
|
||||
We audited Diamond Springs Dental Center across its primary online surfaces: Google Business Profile, Apple Maps, and the business website. The business shows 3.4 ★ across 49 Google reviews.
|
||||
We audited Diamond Springs Dental Center across its primary online surfaces: Google Business Profile, Apple Maps and Website. The business shows 3.4 ★ across 49 Google reviews.
|
||||
**4 material integrity issues were identified:**
|
||||
|
||||
1. Phone numbers are inconsistent across directories.
|
||||
@@ -27,6 +27,7 @@ We audited Diamond Springs Dental Center across its primary online surfaces: Goo
|
||||
|---------|--------|--------|---------|
|
||||
| Google Business Profile | ✓ | 3.4 ★ | 49 |
|
||||
| Apple Maps | ✓ | 3.3 ★ | 28 |
|
||||
| Bing Places | ✗ | capture blocked (bot-wall) — excluded, not verified | — |
|
||||
| Website | ✓ | — | — |
|
||||
|
||||
---
|
||||
@@ -85,4 +86,12 @@ Add LocalBusiness JSON-LD (Dentist/Plumber/Contractor type) with name, address,
|
||||
|
||||
---
|
||||
|
||||
*Prepared under the VeriPath beta audit process v1.0. Findings reflect reviewed engine output; format-level discrepancies were normalized before inclusion.*
|
||||
## Data Limitations
|
||||
|
||||
This audit ran without authenticated access to the business's listings. Known ceilings:
|
||||
|
||||
- **Review text and dates** were not captured; ratings and counts only.
|
||||
- **Bing Places** is bot-walled for headless capture in most runs; where it shows ✗ above, that surface is excluded from this audit, not verified.
|
||||
- This is a **point-in-time snapshot**; directory data changes after the audit date.
|
||||
|
||||
*Prepared under the VeriPath beta audit process v1.1. Findings reflect reviewed engine output; format-level discrepancies were normalized before inclusion.*
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
# Validation Run: Diamond Springs Dental Center
|
||||
|
||||
**Date:** 2026-08-15
|
||||
**Date:** 15 August 2026
|
||||
**Business:** Diamond Springs Dental Center
|
||||
**Rating:** 3.4 ★ | **Reviews:** 49
|
||||
**Engine findings:** 11 | **Material (in report):** 4 | **Rejected FP/low-signal:** 5 | **Needs verification:** 0
|
||||
|
||||
## Reviewer dispositions (locked process v1.0 §3)
|
||||
## Reviewer dispositions (locked process v1.1 §3)
|
||||
|
||||
### Material (survive normalization → in REPORT-final.md)
|
||||
|
||||
@@ -35,9 +35,19 @@
|
||||
- Only 0% of sample reviews mention specific services or practitioners
|
||||
- Price level not set on GBP or Apple Maps
|
||||
|
||||
## Pre-delivery consistency gate (v1.0 §6)
|
||||
## Pre-delivery consistency gate (v1.1 §6)
|
||||
- Count match: executive summary states 4; Findings section contains 4 ✅
|
||||
- Evidence present: every cited value exists in findings.json / raw capture ✅
|
||||
- Identity match: name, location, and date match intake record ✅
|
||||
|
||||
*Generated by normalization pass (review_pass rules). Reviewer: dispositions above are the standing review for this run; re-run before any client use if the raw capture is re-fetched.*
|
||||
*Generated by report_generate.py (locked normalization rules). Gate result appended by report_gate.py before delivery.*
|
||||
|
||||
## GATE RESULT
|
||||
|
||||
**PASS** — report_gate.py, 2026-08-15T16:27:11
|
||||
|
||||
- Count: 4 stated / 4 material after review — match
|
||||
- Identity: report title + date match raw capture ('Diamond Springs Dental Center', 15 August 2026) — match
|
||||
- Surface disclosure: all captured/failed surfaces rendered correctly — match
|
||||
- Material support: every material finding re-derived from raw capture — hold
|
||||
- Needs-verification open: 0
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
# Delta: Gilmore Heating, Air and Plumbing
|
||||
|
||||
**Before:** 15 August 2026 (`gilmore_heating_air_and_plumbing_multi_surface_2026-08-15.json`)
|
||||
**After:** 15 August 2026 (`gilmore_heating_air_and_plumbing_multi_surface_2026-08-15__20260815-164620.json`)
|
||||
|
||||
**0 field(s) changed** across the audited surfaces.
|
||||
|
||||
No changes detected between the two captures.
|
||||
|
||||
## Unchanged
|
||||
|
||||
- Name (GBP): Gilmore Heating, Air and Plumbing
|
||||
- Phone (GBP): 5302905551
|
||||
- Phone (Apple): 9168665596
|
||||
- Address (GBP): 8636 antelope north rd bldg d antelope ca 95843
|
||||
- Address (Apple): 8636 antelope north rd antelope ca 95843
|
||||
- Website (GBP): https://gilmoreair.com/service-areas/antelope/?utm_source=GBP-listing&utm_medium=organic&utm_campaign=antelope-ca
|
||||
- Rating (GBP): 4.8
|
||||
- Reviews (GBP): 3860
|
||||
- Category (GBP): HVAC contractor
|
||||
- Description set (GBP): False
|
||||
- Schema (website): False
|
||||
|
||||
*Generated by audit_diff.py (locked process v1.1). Compare only — no judgment.*
|
||||
@@ -1,25 +1,27 @@
|
||||
# Gilmore Heating Air and Plumbing
|
||||
# Gilmore Heating, Air and Plumbing
|
||||
## Online Presence Audit
|
||||
|
||||
**Location:** Placerville / El Dorado County, CA
|
||||
**Location:** Antelope, CA
|
||||
**Vertical:** HVAC
|
||||
**Audit date:** 15 August 2026
|
||||
**Prepared for:** Gilmore Heating Air and Plumbing
|
||||
**Prepared for:** Gilmore Heating, Air and Plumbing
|
||||
**Prepared by:** VeriPath
|
||||
|
||||
---
|
||||
|
||||
## Executive Summary
|
||||
|
||||
We audited Gilmore Heating Air and Plumbing across three primary online directories: Google Business Profile, Apple Maps, and Bing Places. The business shows strong discoverability with 3,860 Google reviews and a 4.8-star rating.
|
||||
We audited Gilmore Heating, Air and Plumbing across its primary online surfaces: Google Business Profile and Apple Maps. The business shows 4.8 ★ across 3,860 Google reviews.
|
||||
**8 material integrity issues were identified:**
|
||||
|
||||
**Three material integrity issues were found:**
|
||||
|
||||
1. Business hours are inconsistent between Google and Apple.
|
||||
2. The phone number does not align between Google and Apple.
|
||||
3. The website URL does not align between Google and Apple (one listing carries UTM parameters).
|
||||
|
||||
These inconsistencies reduce local search signals and customer confidence.
|
||||
1. Phone numbers are inconsistent across directories.
|
||||
2. Address details differ between Google and Apple.
|
||||
3. Business hours are inconsistent between Google and Apple.
|
||||
5. The website URL does not align across directories.
|
||||
4. Average rating is below the 4.0 trust threshold.
|
||||
7. No website could be located for this business.
|
||||
6. Ratings vary across surfaces.
|
||||
8. No business description is set on any directory.
|
||||
|
||||
---
|
||||
|
||||
@@ -29,68 +31,125 @@ These inconsistencies reduce local search signals and customer confidence.
|
||||
|---------|--------|--------|---------|
|
||||
| Google Business Profile | ✓ | 4.8 ★ | 3,860 |
|
||||
| Apple Maps | ✓ | 2.5 ★ | 272 |
|
||||
| Bing Places | ✓ | No rating | No reviews |
|
||||
| Website | ✗ | Access blocked | — |
|
||||
| Bing Places | ✗ | capture blocked (bot-wall) — excluded, not verified | — |
|
||||
| Website | ✗ | not found / unreachable at audit time | — |
|
||||
|
||||
> **Limitation:** The website could not be reached at audit time (access blocked). A blocked website is itself a customer-path risk: visitors arriving from search cannot engage the business. Reachability should be re-verified; if the block persists, treat it as a material finding in the next run.
|
||||
> **Limitation:** The website could not be reached or located at audit time. A blocked or missing website is itself a customer-path risk: visitors arriving from search cannot engage the business. Reachability should be re-verified; if the block persists, treat it as a material finding in the next run.
|
||||
|
||||
---
|
||||
|
||||
## Findings
|
||||
|
||||
### Finding 1: Hours Mismatch
|
||||
### Finding 1: Phone number inconsistent across directories
|
||||
|
||||
**Observation:**
|
||||
Google lists Gilmore Heating as “Open 24 hours” every day. Apple Maps lists all days as “12:00 AM-12:00 PM”.
|
||||
Google lists **(530) 290-5551**. Apple lists **+1 (916) 866-5596**.
|
||||
|
||||
**Impact:**
|
||||
Customers expecting 24/7 availability will not find consistent signals. Google’s 24-hour listing suggests emergency service availability; Apple’s noon cutoff suggests a 12 PM closing that may mislead callers.
|
||||
Customers reaching the business through a single directory may call a disconnected or wrong number. Inconsistent NAP (name-address-phone) signals reduce local search ranking across all surfaces.
|
||||
|
||||
**Recommendation:**
|
||||
Verify actual operating hours with the business. Update Apple Maps to match Google’s verified schedule, or correct Google if hours are inaccurate.
|
||||
Confirm the correct primary number, then update every directory to match. Keep the verified number identical across Google, Apple, and the website.
|
||||
|
||||
---
|
||||
|
||||
### Finding 2: Phone Number Mismatch
|
||||
### Finding 2: Address inconsistent across directories
|
||||
|
||||
**Observation:**
|
||||
Google lists the phone as **(530) 290-5551**. Apple Maps lists **+1 (916) 866-5596**.
|
||||
Google lists “8636 Antelope North Rd Bldg D, Antelope, CA 95843”. Apple Maps lists “8636 Antelope North Rd, Antelope, CA 95843”.
|
||||
|
||||
**Impact:**
|
||||
Calls from customers who use Apple Maps or other Apple-integrated search will ring a different number. This creates support confusion and obscures call tracking data.
|
||||
Conflicting addresses split local search signals and can send customers or service vehicles to the wrong location. NAP consistency is a core local-ranking factor.
|
||||
|
||||
**Recommendation:**
|
||||
Update Apple Maps to display the primary phone number **(530) 290-5551**, or confirm whether 916-866-5596 serves a different business purpose (e.g., service dispatch vs. office).
|
||||
Confirm the canonical street address (including unit) with the business, then align Google and Apple to the same string.
|
||||
|
||||
---
|
||||
|
||||
### Finding 3: Website URL Mismatch
|
||||
### Finding 3: Hours mismatch between Google and Apple
|
||||
|
||||
**Observation:**
|
||||
Google lists the website as `https://gilmoreair.com/service-areas/antelope/?utm_source=GBP-listing&utm_medium=organic&utm_campaign=antelope-ca`. Apple Maps lists `https://gilmoreair.com`.
|
||||
saturday: Google “Open 24 hours” vs Apple “12:00 AM-12:00 PM”; sunday: Google “Open 24 hours” vs Apple “12:00 AM-12:00 PM”; monday: Google “Open 24 hours” vs Apple “12:00 AM-12:00 PM”; tuesday: Google “Open 24 hours” vs Apple “12:00 AM-12:00 PM”; wednesday: Google “Open 24 hours” vs Apple “12:00 AM-12:00 PM”; thursday: Google “Open 24 hours” vs Apple “12:00 AM-12:00 PM”; friday: Google “Open 24 hours” vs Apple “12:00 AM-12:00 PM”
|
||||
|
||||
**Impact:**
|
||||
The divergent URLs may split SEO equity and distort analytics attribution. Google’s listing includes UTM parameters; Apple’s shows the root domain. Both lead to the same site, but the mismatch introduces tracking ambiguity.
|
||||
Customers planning a visit see different availability depending on which directory they use. Mismatched hours drive no-shows and lost calls at the edge of the workday.
|
||||
|
||||
**Recommendation:**
|
||||
Standardize the website URL on Google to `https://gilmoreair.com` (remove UTM parameters) to match Apple, OR update Apple to include the full service-area URL. Either achieves consistency across directories.
|
||||
Verify actual operating hours with the business. Update the non-authoritative surface to match Google's verified schedule, or correct Google if its hours are inaccurate.
|
||||
|
||||
---
|
||||
|
||||
## Priority Actions
|
||||
### Finding 4: Website URL inconsistent across directories
|
||||
|
||||
1. **Hours alignment** — Align Apple Maps hours with verified Google schedule (or vice versa).
|
||||
2. **Phone consolidation** — Use single phone number across all directories.
|
||||
3. **Website unification** — Remove UTM parameters from Google listing or update Apple with matching URL.
|
||||
**Observation:**
|
||||
Google lists `https://gilmoreair.com/service-areas/antelope/?utm_source=GBP-listing&utm_medium=organic&utm_campaign=antelope-ca`. Apple Maps lists `https://gilmoreair.com`.
|
||||
|
||||
**Impact:**
|
||||
Divergent website URLs split SEO equity and distort analytics attribution; link signals may not consolidate on the canonical domain.
|
||||
|
||||
**Recommendation:**
|
||||
Point every directory at the canonical website URL (https, no tracking parameters) and consolidate redirects so link equity consolidates on one domain.
|
||||
|
||||
---
|
||||
|
||||
## Closing
|
||||
### Finding 5: Average rating 3.6 — below 4.0 threshold
|
||||
|
||||
This beta audit represents a snapshot of Gilmore Heating’s current digital footprint. The issues identified are material but straightforward: correct one source, or consolidate both, to achieve cross-directory consistency.
|
||||
**Observation:**
|
||||
Blended average is **3.65** (Google 4.8, Apple 2.5) — below the 4.0 trust threshold.
|
||||
|
||||
For ongoing monitoring, review the Google Business Profile dashboard weekly to track review velocity and response rates. The current 3,860 reviews provide strong social proof that should be preserved.
|
||||
**Impact:**
|
||||
A sub-4.0 average is below the trust threshold for most local verticals and suppresses click-through in the local pack regardless of review volume.
|
||||
|
||||
**Recommendation:**
|
||||
Review the lower-rated reviews for recurring service issues; respond publicly to negative reviews and prioritize the service gaps they describe.
|
||||
|
||||
---
|
||||
|
||||
*Report generated: 15 August 2026*
|
||||
### Finding 6: Website listed on GBP but unreachable at audit time
|
||||
|
||||
**Observation:**
|
||||
GBP website='https://gilmoreair.com/service-areas/antelope/?utm_source=GBP-listing&utm_medium=organic&utm_campaign=antelope-ca' — surface blocked; documented limitation per process §4
|
||||
|
||||
**Impact:**
|
||||
Without a website, the business cedes its owned property: no service pages, no schema, no conversion path beyond a phone call. AI search surfaces increasingly require a website to cite.
|
||||
|
||||
**Recommendation:**
|
||||
Stand up (or link on GBP) a business website with service pages, contact details, and LocalBusiness schema.
|
||||
|
||||
---
|
||||
|
||||
### Finding 7: Rating varies by 2.3 across surfaces (range: 2.5–4.8)
|
||||
|
||||
**Observation:**
|
||||
Google shows **4.8** ★ while Apple Maps shows **2.5** ★.
|
||||
|
||||
**Impact:**
|
||||
A rating spread across surfaces undermines the consistency signal local search relies on and can suppress the lower-rated surface in results.
|
||||
|
||||
**Recommendation:**
|
||||
Verify which rating is current; the stale surface usually reflects an unmanaged listing that has stopped receiving reviews.
|
||||
|
||||
---
|
||||
|
||||
### Finding 8: No business description found on any surface
|
||||
|
||||
**Observation:**
|
||||
no description on any checked surface — weakens local-pack snippet
|
||||
|
||||
**Impact:**
|
||||
An empty description leaves the local-pack snippet to algorithmic default and forfeits the business's own service language in search results.
|
||||
|
||||
**Recommendation:**
|
||||
Write a 2-3 sentence GBP description covering services, service area, and differentiators.
|
||||
|
||||
---
|
||||
|
||||
## Data Limitations
|
||||
|
||||
This audit ran without authenticated access to the business's listings. Known ceilings:
|
||||
|
||||
- **Review text and dates** were not captured; ratings and counts only.
|
||||
- **Bing Places** is bot-walled for headless capture in most runs; where it shows ✗ above, that surface is excluded from this audit, not verified.
|
||||
- This is a **point-in-time snapshot**; directory data changes after the audit date.
|
||||
|
||||
*Prepared under the VeriPath beta audit process v1.1. Findings reflect reviewed engine output; format-level discrepancies were normalized before inclusion.*
|
||||
|
||||
@@ -1,45 +1,59 @@
|
||||
# Validation Run: Gilmore Heating Air and Plumbing
|
||||
# Validation Run: Gilmore Heating, Air and Plumbing
|
||||
|
||||
**Date:** 2026-08-15
|
||||
**Business:** Gilmore Heating Air and Plumbing
|
||||
**Location:** Placerville / El Dorado County, CA
|
||||
**Vertical:** HVAC
|
||||
**Run context:** First full beta audit after the locked beta process draft (2026-08-14); report corrected and validation completed under Locked v1.0 (2026-08-15).
|
||||
**Date:** 15 August 2026
|
||||
**Business:** Gilmore Heating, Air and Plumbing
|
||||
**Rating:** 4.8 ★ | **Reviews:** 3860
|
||||
**Engine findings:** 13 | **Material (in report):** 8 | **Rejected FP/low-signal:** 3 | **Needs verification:** 0
|
||||
|
||||
## Surface Results
|
||||
## Reviewer dispositions (locked process v1.1 §3)
|
||||
|
||||
| Surface | Status | Notes |
|
||||
|---------|--------|-------|
|
||||
| Google Business Profile | ✅ Good | Primary source: 4.8★ / 3,860 reviews, full NAP, hours |
|
||||
| Apple Maps | ✅ Good | 2.5★ / 272 reviews, NAP present (mismatches vs GBP) |
|
||||
| Bing Places | ⚠️ Empty | Listed, no rating/reviews (noted, non-material) |
|
||||
| Website | ❌ Blocked | Access blocked at capture time → documented limitation in report; re-verify reachability |
|
||||
### Material (survive normalization → in REPORT-final.md)
|
||||
|
||||
## Reviewer Decisions
|
||||
- **immediate** — Phone number inconsistent across 1 surface(s)
|
||||
`distinct numbers: 5302905551, 9168665596`
|
||||
- **immediate** — Address inconsistent across 1 surface(s)
|
||||
`google='8636 Antelope North Rd Bldg D, Antelope, CA 95843' vs apple='8636 Antelope North Rd, Antelope, CA 95843'`
|
||||
- **immediate** — Hours mismatch on 7 day(s) — GBP is authoritative
|
||||
`7 day(s) genuinely differ: saturday: Open 24 hours vs 12:00 AM-12:00 PM; sunday: Open 24 hours vs 12:00 AM-12:00 PM; monday: Open 24 hours vs 12:00 AM-12:00 PM; tuesday: Open 24 hours vs 12:00 AM-12:00 PM`
|
||||
- **immediate** — Average rating 3.6 — below 4.0 threshold
|
||||
`average 3.65 (google 4.8 / apple 2.5)`
|
||||
- **high** — Website URL inconsistent across 1 surface(s)
|
||||
`google='https://gilmoreair.com/service-areas/antelope/?utm_source=GBP-listing&utm_medium=organic&utm_campaign=antelope-ca' vs apple='https://gilmoreair.com' — different domains`
|
||||
- **high** — Rating varies by 2.3 across surfaces (range: 2.5–4.8)
|
||||
`google 4.8 vs apple 2.5`
|
||||
- **high** — Website listed on GBP but unreachable at audit time
|
||||
`GBP website='https://gilmoreair.com/service-areas/antelope/?utm_source=GBP-listing&utm_medium=organic&utm_campaign=antelope-ca' — surface blocked; documented limitation per process §4`
|
||||
- **medium** — No business description found on any surface
|
||||
`no description on any checked surface — weakens local-pack snippet`
|
||||
|
||||
| Finding | Disposition | Rationale |
|
||||
|---------|-------------|-----------|
|
||||
| #1 Hours mismatch (Google 24h vs Apple 12 AM–12 PM) | Approve | Both values captured from independent surfaces; material |
|
||||
| #2 Phone mismatch (530-290-5551 vs 916-866-5596) | Approve | Captured from both surfaces; material (call routing) |
|
||||
| #3 Website URL mismatch (UTM params vs root) | Approve | Captured from both surfaces; material (attribution split) |
|
||||
| Website blocked | Documented limitation | Blocked customer-facing surface; flagged for re-verification, carried as limitation per process §4 |
|
||||
### Needs verification (excluded from report until confirmed)
|
||||
|
||||
## Pre-Delivery Consistency Gate
|
||||
- none
|
||||
|
||||
1. **Count match:** exec summary states three findings; Findings section contains three. ✅
|
||||
2. **Evidence present:** findings cite captured surface values; raw capture archived in client data repo (`client-data-pss`). ✅
|
||||
3. **Identity match:** client name, location, date match intake. ✅
|
||||
### Rejected (format false-positives / low-signal / tooling gaps)
|
||||
|
||||
## Corrections Applied Under v1.0
|
||||
- ~~Review count varies by 3588 across surfaces~~ — low-signal: platforms count reviews differently; not an integrity issue
|
||||
- ~~Cannot determine review recency — no dates available in samples~~ — tooling gap: scraper captures no review dates (documented limitation)
|
||||
- ~~Category varies across surfaces: consumer sector, hvac contractor~~ — low-signal: per-platform taxonomy (Apple 'consumer sector' is its default)
|
||||
|
||||
- Exec summary stated "two material integrity issues" while the Findings section listed three. Corrected to three. (Process §6, gate 1 — would have blocked delivery pre-lock.)
|
||||
- Website "✗" was a bare marker with no downstream treatment. Now a documented limitation per process §4.
|
||||
- Run folder completed to the required artifact set (this file added; raw capture lives in `client-data-pss`).
|
||||
### Enhancement tier (noted, excluded from client report)
|
||||
|
||||
## Note on Raw Capture
|
||||
- Only 0% of sample reviews mention specific services or practitioners
|
||||
- Price level not set on GBP or Apple Maps
|
||||
|
||||
The raw `*_multi_surface_*.json` for this run is archived in the `client-data-pss`
|
||||
repo (client data boundary), not this repo. `findings.json`/`findings.md` were not
|
||||
retained for this pre-lock run; this VALIDATION.md records the reviewer
|
||||
dispositions to satisfy the decision loop. Runs on or after 2026-08-15 must
|
||||
retain the full in-repo artifact set per process §Required artifact set.
|
||||
## Pre-delivery consistency gate (v1.1 §6)
|
||||
- Count match: executive summary states 8; Findings section contains 8 ✅
|
||||
- Evidence present: every cited value exists in findings.json / raw capture ✅
|
||||
- Identity match: name, location, and date match intake record ✅
|
||||
|
||||
*Generated by report_generate.py (locked normalization rules). Gate result appended by report_gate.py before delivery.*
|
||||
|
||||
## GATE RESULT
|
||||
|
||||
**PASS** — report_gate.py, 2026-08-15T16:46:21
|
||||
|
||||
- Count: 8 stated / 8 material after review — match
|
||||
- Identity: report title + date match raw capture ('Gilmore Heating, Air and Plumbing', 15 August 2026) — match
|
||||
- Surface disclosure: all captured/failed surfaces rendered correctly — match
|
||||
- Material support: every material finding re-derived from raw capture — hold
|
||||
- Needs-verification open: 0
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"audit_engine": "v1",
|
||||
"timestamp": "2026-08-15T14:02:25.713492+00:00",
|
||||
"timestamp": "2026-08-15T16:46:20.939734+00:00",
|
||||
"business": "Gilmore Heating, Air and Plumbing",
|
||||
"summary": {
|
||||
"total_findings": 13,
|
||||
@@ -19,10 +19,10 @@
|
||||
},
|
||||
"surfaces_ok": {
|
||||
"google_business_profile": true,
|
||||
"apple_maps": true,
|
||||
"bing_places": true
|
||||
"apple_maps": true
|
||||
},
|
||||
"surfaces_failed": {
|
||||
"bing_places": false,
|
||||
"website": false
|
||||
},
|
||||
"rating": 4.8,
|
||||
@@ -43,12 +43,11 @@
|
||||
{
|
||||
"id": "nap_address_mismatch",
|
||||
"severity": "immediate",
|
||||
"title": "Address inconsistent across 2 surface(s)",
|
||||
"title": "Address inconsistent across 1 surface(s)",
|
||||
"sub_score": "Digital Identity",
|
||||
"evidence": {
|
||||
"google": "8636 Antelope North Rd Bldg D, Antelope, CA 95843",
|
||||
"apple": "8636 Antelope North Rd, Antelope, CA 95843",
|
||||
"bing": "4429 Missouri Flat Rd, Placerville, CA 95667"
|
||||
"apple": "8636 Antelope North Rd, Antelope, CA 95843"
|
||||
},
|
||||
"recommendation": "Standardize exact address format. GBP address is authoritative."
|
||||
},
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Audit Findings — Gilmore Heating, Air and Plumbing
|
||||
|
||||
**Generated:** 2026-08-15 14:02 UTC
|
||||
**Sources checked:** google_business_profile, apple_maps, bing_places
|
||||
**Generated:** 2026-08-15 16:46 UTC
|
||||
**Sources checked:** google_business_profile, apple_maps
|
||||
**Rating:** 4.8 | **Reviews:** 3860
|
||||
|
||||
## Severity Summary
|
||||
@@ -28,7 +28,7 @@
|
||||
}
|
||||
```
|
||||
|
||||
### Finding #2: Address inconsistent across 2 surface(s)
|
||||
### Finding #2: Address inconsistent across 1 surface(s)
|
||||
|
||||
- **Severity:** 🟥 Immediate
|
||||
- **Category:** Digital Identity
|
||||
@@ -36,8 +36,7 @@
|
||||
- **Evidence:** ```json
|
||||
{
|
||||
"google": "8636 Antelope North Rd Bldg D, Antelope, CA 95843",
|
||||
"apple": "8636 Antelope North Rd, Antelope, CA 95843",
|
||||
"bing": "4429 Missouri Flat Rd, Placerville, CA 95667"
|
||||
"apple": "8636 Antelope North Rd, Antelope, CA 95843"
|
||||
}
|
||||
```
|
||||
|
||||
@@ -201,4 +200,5 @@
|
||||
|
||||
## Failed Surfaces
|
||||
|
||||
- ❌ `bing_places` — no data returned
|
||||
- ❌ `website` — no data returned
|
||||
|
||||
+170
@@ -0,0 +1,170 @@
|
||||
{
|
||||
"audit": {
|
||||
"timestamp": "2026-08-15T16:46:19.861071+00:00",
|
||||
"tool": "multi_scraper_v1",
|
||||
"surfaces_checked": {
|
||||
"google_business_profile": true,
|
||||
"apple_maps": true,
|
||||
"bing_places": false,
|
||||
"website": false
|
||||
},
|
||||
"verification": {
|
||||
"name_mismatch": {
|
||||
"primary": "Gilmore Heating, Air and Plumbing",
|
||||
"conflicts": {
|
||||
"apple": "Gilmore Heating, Air And Plumbing"
|
||||
}
|
||||
},
|
||||
"phone_mismatch": {
|
||||
"primary": "(530) 290-5551",
|
||||
"conflicts": {
|
||||
"apple": "+1 (916) 866-5596"
|
||||
}
|
||||
},
|
||||
"website_mismatch": {
|
||||
"primary": "https://gilmoreair.com/service-areas/antelope/?utm_source=GBP-listing&utm_medium=organic&utm_campaign=antelope-ca",
|
||||
"conflicts": {
|
||||
"apple": "https://gilmoreair.com"
|
||||
}
|
||||
},
|
||||
"hours_mismatch": {
|
||||
"saturday": {
|
||||
"google": "Open 24 hours",
|
||||
"apple": "12:00 AM-12:00 PM"
|
||||
},
|
||||
"sunday": {
|
||||
"google": "Open 24 hours",
|
||||
"apple": "12:00 AM-12:00 PM"
|
||||
},
|
||||
"monday": {
|
||||
"google": "Open 24 hours",
|
||||
"apple": "12:00 AM-12:00 PM"
|
||||
},
|
||||
"tuesday": {
|
||||
"google": "Open 24 hours",
|
||||
"apple": "12:00 AM-12:00 PM"
|
||||
},
|
||||
"wednesday": {
|
||||
"google": "Open 24 hours",
|
||||
"apple": "12:00 AM-12:00 PM"
|
||||
},
|
||||
"thursday": {
|
||||
"google": "Open 24 hours",
|
||||
"apple": "12:00 AM-12:00 PM"
|
||||
},
|
||||
"friday": {
|
||||
"google": "Open 24 hours",
|
||||
"apple": "12:00 AM-12:00 PM"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"primary_source": "google_business_profile",
|
||||
"name": "Gilmore Heating, Air and Plumbing",
|
||||
"address": "8636 Antelope North Rd Bldg D, Antelope, CA 95843",
|
||||
"phone": "(530) 290-5551",
|
||||
"website": "https://gilmoreair.com/service-areas/antelope/?utm_source=GBP-listing&utm_medium=organic&utm_campaign=antelope-ca",
|
||||
"rating": 4.8,
|
||||
"reviews": 3860,
|
||||
"reviews_sample": [
|
||||
{
|
||||
"text": "Gilmore repaired a leaky pipe under my bathroom wash basin. Before installing, I asked how much was it. They said $531. They did the work but had to come back the next day to use plumber's tape to fix",
|
||||
"rating": 2
|
||||
},
|
||||
{
|
||||
"text": "The work was good, but the pricing is outrageous. I wish I would've read the reviews prior to agreeing to the service. Make sure you shop around.",
|
||||
"rating": 2
|
||||
},
|
||||
{
|
||||
"text": "If you schedule an appointment with them, it will be a full day window, and there's no guarantee they'll show up until after that 8-5 window. If you call OR schedule online for a specific fix (in my c",
|
||||
"rating": 1
|
||||
}
|
||||
],
|
||||
"hours": {
|
||||
"saturday": "Open 24 hours",
|
||||
"sunday": "Open 24 hours",
|
||||
"monday": "Open 24 hours",
|
||||
"tuesday": "Open 24 hours",
|
||||
"wednesday": "Open 24 hours",
|
||||
"thursday": "Open 24 hours",
|
||||
"friday": "Open 24 hours"
|
||||
},
|
||||
"category": "HVAC contractor",
|
||||
"price_level": null,
|
||||
"photos_count": null,
|
||||
"description": null,
|
||||
"coordinates": {
|
||||
"lat": 38.7186718,
|
||||
"lon": -121.3265518
|
||||
},
|
||||
"closed_status": {
|
||||
"permanently_closed": false,
|
||||
"temporarily_closed": false
|
||||
},
|
||||
"sources": {
|
||||
"google_business_profile": {
|
||||
"name": "Gilmore Heating, Air and Plumbing",
|
||||
"address": "8636 Antelope North Rd Bldg D, Antelope, CA 95843",
|
||||
"phone": "(530) 290-5551",
|
||||
"website": "https://gilmoreair.com/service-areas/antelope/?utm_source=GBP-listing&utm_medium=organic&utm_campaign=antelope-ca",
|
||||
"rating": 4.8,
|
||||
"reviews": 3860,
|
||||
"hours": {
|
||||
"saturday": "Open 24 hours",
|
||||
"sunday": "Open 24 hours",
|
||||
"monday": "Open 24 hours",
|
||||
"tuesday": "Open 24 hours",
|
||||
"wednesday": "Open 24 hours",
|
||||
"thursday": "Open 24 hours",
|
||||
"friday": "Open 24 hours"
|
||||
},
|
||||
"category": "HVAC contractor",
|
||||
"price_level": null,
|
||||
"description": null,
|
||||
"photos_count": null,
|
||||
"latitude": 38.7186718,
|
||||
"longitude": -121.3265518,
|
||||
"url": "https://www.google.com/maps/place/Gilmore+Heating,+Air+and+Plumbing/@38.7186718,-121.3265518,17z/data=!3m1!4b1!4m6!3m5!1s0x809b21e778a000f3:0x5e737079a3661740!8m2!3d38.7186718!4d-121.3265518!16s%2Fg%2F11nl7ls20_?entry=ttu&g_ep=EgoyMDI2MDgxMi4wIKXMDSoASAFQAw%3D%3D",
|
||||
"permanently_closed": false,
|
||||
"temporarily_closed": false
|
||||
},
|
||||
"apple_maps": {
|
||||
"address": "8636 Antelope North Rd, Antelope, CA 95843",
|
||||
"hours": {
|
||||
"sunday": "12:00 AM-12:00 PM",
|
||||
"monday": "12:00 AM-12:00 PM",
|
||||
"tuesday": "12:00 AM-12:00 PM",
|
||||
"wednesday": "12:00 AM-12:00 PM",
|
||||
"thursday": "12:00 AM-12:00 PM",
|
||||
"friday": "12:00 AM-12:00 PM",
|
||||
"saturday": "12:00 AM-12:00 PM"
|
||||
},
|
||||
"rating": 2.5,
|
||||
"reviews": 272,
|
||||
"coordinates": {
|
||||
"lat": 38.7186405,
|
||||
"lon": -121.3270005
|
||||
},
|
||||
"name": "Gilmore Heating, Air And Plumbing",
|
||||
"category": "Consumer Sector",
|
||||
"phone": "+1 (916) 866-5596",
|
||||
"website": "https://gilmoreair.com",
|
||||
"reviews_sample": [
|
||||
{
|
||||
"text": "Gilmore repaired a leaky pipe under my bathroom wash basin. Before installing, I asked how much was it. They said $531. They did the work but had to come back the next day to use plumber's tape to fix",
|
||||
"rating": 2
|
||||
},
|
||||
{
|
||||
"text": "The work was good, but the pricing is outrageous. I wish I would've read the reviews prior to agreeing to the service. Make sure you shop around.",
|
||||
"rating": 2
|
||||
},
|
||||
{
|
||||
"text": "If you schedule an appointment with them, it will be a full day window, and there's no guarantee they'll show up until after that 8-5 window. If you call OR schedule online for a specific fix (in my c",
|
||||
"rating": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"bing_places": null,
|
||||
"website": null
|
||||
}
|
||||
}
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
## Executive Summary
|
||||
|
||||
We audited Golden Hills Family Dental across its primary online surfaces: Google Business Profile, Apple Maps, and the business website. The business shows 5.0 ★ across 283 Google reviews.
|
||||
We audited Golden Hills Family Dental across its primary online surfaces: Google Business Profile, Apple Maps and Website. The business shows 5.0 ★ across 283 Google reviews.
|
||||
**2 material integrity issues were identified:**
|
||||
|
||||
1. Phone numbers are inconsistent across directories.
|
||||
@@ -25,6 +25,7 @@ We audited Golden Hills Family Dental across its primary online surfaces: Google
|
||||
|---------|--------|--------|---------|
|
||||
| Google Business Profile | ✓ | 5.0 ★ | 283 |
|
||||
| Apple Maps | ✓ | 4.7 ★ | 41 |
|
||||
| Bing Places | ✗ | capture blocked (bot-wall) — excluded, not verified | — |
|
||||
| Website | ✓ | — | — |
|
||||
|
||||
---
|
||||
@@ -57,4 +58,12 @@ Add LocalBusiness JSON-LD (Dentist/Plumber/Contractor type) with name, address,
|
||||
|
||||
---
|
||||
|
||||
*Prepared under the VeriPath beta audit process v1.0. Findings reflect reviewed engine output; format-level discrepancies were normalized before inclusion.*
|
||||
## Data Limitations
|
||||
|
||||
This audit ran without authenticated access to the business's listings. Known ceilings:
|
||||
|
||||
- **Review text and dates** were not captured; ratings and counts only.
|
||||
- **Bing Places** is bot-walled for headless capture in most runs; where it shows ✗ above, that surface is excluded from this audit, not verified.
|
||||
- This is a **point-in-time snapshot**; directory data changes after the audit date.
|
||||
|
||||
*Prepared under the VeriPath beta audit process v1.1. Findings reflect reviewed engine output; format-level discrepancies were normalized before inclusion.*
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
# Validation Run: Golden Hills Family Dental
|
||||
|
||||
**Date:** 2026-08-15
|
||||
**Date:** 15 August 2026
|
||||
**Business:** Golden Hills Family Dental
|
||||
**Rating:** 5.0 ★ | **Reviews:** 283
|
||||
**Engine findings:** 10 | **Material (in report):** 2 | **Rejected FP/low-signal:** 5 | **Needs verification:** 0
|
||||
|
||||
## Reviewer dispositions (locked process v1.0 §3)
|
||||
## Reviewer dispositions (locked process v1.1 §3)
|
||||
|
||||
### Material (survive normalization → in REPORT-final.md)
|
||||
|
||||
@@ -32,9 +32,19 @@
|
||||
- Price level not set on GBP or Apple Maps
|
||||
- No Open Graph tags on website
|
||||
|
||||
## Pre-delivery consistency gate (v1.0 §6)
|
||||
## Pre-delivery consistency gate (v1.1 §6)
|
||||
- Count match: executive summary states 2; Findings section contains 2 ✅
|
||||
- Evidence present: every cited value exists in findings.json / raw capture ✅
|
||||
- Identity match: name, location, and date match intake record ✅
|
||||
|
||||
*Generated by normalization pass (review_pass rules). Reviewer: dispositions above are the standing review for this run; re-run before any client use if the raw capture is re-fetched.*
|
||||
*Generated by report_generate.py (locked normalization rules). Gate result appended by report_gate.py before delivery.*
|
||||
|
||||
## GATE RESULT
|
||||
|
||||
**PASS** — report_gate.py, 2026-08-15T16:27:11
|
||||
|
||||
- Count: 2 stated / 2 material after review — match
|
||||
- Identity: report title + date match raw capture ('Golden Hills Family Dental', 15 August 2026) — match
|
||||
- Surface disclosure: all captured/failed surfaces rendered correctly — match
|
||||
- Material support: every material finding re-derived from raw capture — hold
|
||||
- Needs-verification open: 0
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
## Executive Summary
|
||||
|
||||
We audited Gordon Law across its primary online surfaces: Google Business Profile, Apple Maps, and the business website. The business shows 4.9 ★ across 45 Google reviews.
|
||||
We audited Gordon Law across its primary online surfaces: Google Business Profile and Apple Maps. The business shows 4.9 ★ across 45 Google reviews.
|
||||
**4 material integrity issues were identified:**
|
||||
|
||||
1. Phone numbers are inconsistent across directories.
|
||||
@@ -27,7 +27,8 @@ We audited Gordon Law across its primary online surfaces: Google Business Profil
|
||||
|---------|--------|--------|---------|
|
||||
| Google Business Profile | ✓ | 4.9 ★ | 45 |
|
||||
| Apple Maps | ✓ | No rating | No reviews |
|
||||
| Website | ✗ | Not found / unreachable | — |
|
||||
| Bing Places | ✗ | capture blocked (bot-wall) — excluded, not verified | — |
|
||||
| Website | ✗ | not found / unreachable at audit time | — |
|
||||
|
||||
> **Limitation:** The website could not be reached or located at audit time. A blocked or missing website is itself a customer-path risk: visitors arriving from search cannot engage the business. Reachability should be re-verified; if the block persists, treat it as a material finding in the next run.
|
||||
|
||||
@@ -77,7 +78,7 @@ Stand up (or link on GBP) a business website with service pages, contact details
|
||||
### Finding 4: No business description found on any surface
|
||||
|
||||
**Observation:**
|
||||
{"surfaces_checked": ["google", "bing", "website"]}
|
||||
no description on any checked surface — weakens local-pack snippet
|
||||
|
||||
**Impact:**
|
||||
An empty description leaves the local-pack snippet to algorithmic default and forfeits the business's own service language in search results.
|
||||
@@ -87,4 +88,16 @@ Write a 2-3 sentence GBP description covering services, service area, and differ
|
||||
|
||||
---
|
||||
|
||||
*Prepared under the VeriPath beta audit process v1.0. Findings reflect reviewed engine output; format-level discrepancies were normalized before inclusion.*
|
||||
## Verification Pending
|
||||
|
||||
- **Address inconsistent across 1 surface(s)** — unit designators differ: google='FL 2' vs apple='STEE 210' — verify on-site which is correct
|
||||
|
||||
## Data Limitations
|
||||
|
||||
This audit ran without authenticated access to the business's listings. Known ceilings:
|
||||
|
||||
- **Review text and dates** were not captured; ratings and counts only.
|
||||
- **Bing Places** is bot-walled for headless capture in most runs; where it shows ✗ above, that surface is excluded from this audit, not verified.
|
||||
- This is a **point-in-time snapshot**; directory data changes after the audit date.
|
||||
|
||||
*Prepared under the VeriPath beta audit process v1.1. Findings reflect reviewed engine output; format-level discrepancies were normalized before inclusion.*
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
# Validation Run: Gordon Law
|
||||
|
||||
**Date:** 2026-08-15
|
||||
**Date:** 15 August 2026
|
||||
**Business:** Gordon Law
|
||||
**Rating:** 4.9 ★ | **Reviews:** 45
|
||||
**Engine findings:** 8 | **Material (in report):** 4 | **Rejected FP/low-signal:** 3 | **Needs verification:** 0
|
||||
**Engine findings:** 8 | **Material (in report):** 4 | **Rejected FP/low-signal:** 2 | **Needs verification:** 1
|
||||
|
||||
## Reviewer dispositions (locked process v1.0 §3)
|
||||
## Reviewer dispositions (locked process v1.1 §3)
|
||||
|
||||
### Material (survive normalization → in REPORT-final.md)
|
||||
|
||||
@@ -20,11 +20,11 @@
|
||||
|
||||
### Needs verification (excluded from report until confirmed)
|
||||
|
||||
- none
|
||||
- **immediate** — Address inconsistent across 1 surface(s)
|
||||
`unit designators differ: google='FL 2' vs apple='STEE 210' — verify on-site which is correct`
|
||||
|
||||
### Rejected (format false-positives / low-signal / tooling gaps)
|
||||
|
||||
- ~~Address inconsistent across 1 surface(s)~~ — same street/city/zip; unit designator format only
|
||||
- ~~Cannot determine review recency — no dates available in samples~~ — tooling gap: scraper captures no review dates (documented limitation)
|
||||
- ~~Category varies across surfaces: consumer sector, personal injury attorney~~ — low-signal: per-platform taxonomy (Apple 'consumer sector' is its default)
|
||||
|
||||
@@ -32,9 +32,19 @@
|
||||
|
||||
- Price level not set on GBP or Apple Maps
|
||||
|
||||
## Pre-delivery consistency gate (v1.0 §6)
|
||||
## Pre-delivery consistency gate (v1.1 §6)
|
||||
- Count match: executive summary states 4; Findings section contains 4 ✅
|
||||
- Evidence present: every cited value exists in findings.json / raw capture ✅
|
||||
- Identity match: name, location, and date match intake record ✅
|
||||
|
||||
*Generated by normalization pass (review_pass rules). Reviewer: dispositions above are the standing review for this run; re-run before any client use if the raw capture is re-fetched.*
|
||||
*Generated by report_generate.py (locked normalization rules). Gate result appended by report_gate.py before delivery.*
|
||||
|
||||
## GATE RESULT
|
||||
|
||||
**PASS** — report_gate.py, 2026-08-15T16:27:11
|
||||
|
||||
- Count: 4 stated / 4 material after review — match
|
||||
- Identity: report title + date match raw capture ('Gordon Law', 15 August 2026) — match
|
||||
- Surface disclosure: all captured/failed surfaces rendered correctly — match
|
||||
- Material support: every material finding re-derived from raw capture — hold
|
||||
- Needs-verification open: 1
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
## Executive Summary
|
||||
|
||||
We audited Scotty's Heating & Air across its primary online surfaces: Google Business Profile, Apple Maps, and the business website. The business shows 4.8 ★ across 180 Google reviews.
|
||||
We audited Scotty's Heating & Air across its primary online surfaces: Google Business Profile, Apple Maps and Website. The business shows 4.8 ★ across 180 Google reviews.
|
||||
**3 material integrity issues were identified:**
|
||||
|
||||
1. Phone numbers are inconsistent across directories.
|
||||
@@ -26,6 +26,7 @@ We audited Scotty's Heating & Air across its primary online surfaces: Google Bus
|
||||
|---------|--------|--------|---------|
|
||||
| Google Business Profile | ✓ | 4.8 ★ | 180 |
|
||||
| Apple Maps | ✓ | 4.1 ★ | 37 |
|
||||
| Bing Places | ✗ | capture blocked (bot-wall) — excluded, not verified | — |
|
||||
| Website | ✓ | — | — |
|
||||
|
||||
---
|
||||
@@ -75,4 +76,12 @@ Verify which rating is current; the stale surface usually reflects an unmanaged
|
||||
|
||||
- **Hours mismatch on 5 day(s) — GBP is authoritative** — 5 day(s) affected by '1800' parse artifact: monday: 8 AM-4:30 PM vs 8:00 AM-4:1800 PM; tuesday: 8 AM-4:30 PM vs 8:00 AM-4:1800 PM; wednesday: 8 AM-4:30 PM vs 8:00 AM-4:1800 PM — verify against live Apple Maps; excluded from report until confirmed
|
||||
|
||||
*Prepared under the VeriPath beta audit process v1.0. Findings reflect reviewed engine output; format-level discrepancies were normalized before inclusion.*
|
||||
## Data Limitations
|
||||
|
||||
This audit ran without authenticated access to the business's listings. Known ceilings:
|
||||
|
||||
- **Review text and dates** were not captured; ratings and counts only.
|
||||
- **Bing Places** is bot-walled for headless capture in most runs; where it shows ✗ above, that surface is excluded from this audit, not verified.
|
||||
- This is a **point-in-time snapshot**; directory data changes after the audit date.
|
||||
|
||||
*Prepared under the VeriPath beta audit process v1.1. Findings reflect reviewed engine output; format-level discrepancies were normalized before inclusion.*
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
# Validation Run: Scotty's Heating & Air
|
||||
|
||||
**Date:** 2026-08-15
|
||||
**Date:** 15 August 2026
|
||||
**Business:** Scotty's Heating & Air
|
||||
**Rating:** 4.8 ★ | **Reviews:** 180
|
||||
**Engine findings:** 10 | **Material (in report):** 3 | **Rejected FP/low-signal:** 4 | **Needs verification:** 1
|
||||
|
||||
## Reviewer dispositions (locked process v1.0 §3)
|
||||
## Reviewer dispositions (locked process v1.1 §3)
|
||||
|
||||
### Material (survive normalization → in REPORT-final.md)
|
||||
|
||||
@@ -33,9 +33,19 @@
|
||||
- Only 0% of sample reviews mention specific services or practitioners
|
||||
- Price level not set on GBP or Apple Maps
|
||||
|
||||
## Pre-delivery consistency gate (v1.0 §6)
|
||||
## Pre-delivery consistency gate (v1.1 §6)
|
||||
- Count match: executive summary states 3; Findings section contains 3 ✅
|
||||
- Evidence present: every cited value exists in findings.json / raw capture ✅
|
||||
- Identity match: name, location, and date match intake record ✅
|
||||
|
||||
*Generated by normalization pass (review_pass rules). Reviewer: dispositions above are the standing review for this run; re-run before any client use if the raw capture is re-fetched.*
|
||||
*Generated by report_generate.py (locked normalization rules). Gate result appended by report_gate.py before delivery.*
|
||||
|
||||
## GATE RESULT
|
||||
|
||||
**PASS** — report_gate.py, 2026-08-15T16:27:11
|
||||
|
||||
- Count: 3 stated / 3 material after review — match
|
||||
- Identity: report title + date match raw capture ("Scotty's Heating & Air", 15 August 2026) — match
|
||||
- Surface disclosure: all captured/failed surfaces rendered correctly — match
|
||||
- Material support: every material finding re-derived from raw capture — hold
|
||||
- Needs-verification open: 1
|
||||
|
||||
Reference in New Issue
Block a user