Files
veripath/docs/validation/2026-08-15-gilmore-heating-air/findings.json
T
Leonard 394d5dae3f 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)
2026-08-15 16:52:23 +00:00

208 lines
6.5 KiB
JSON

{
"audit_engine": "v1",
"timestamp": "2026-08-15T16:46:20.939734+00:00",
"business": "Gilmore Heating, Air and Plumbing",
"summary": {
"total_findings": 13,
"severity_counts": {
"immediate": 4,
"high": 3,
"medium": 4,
"enhancement": 2
},
"sub_score_issues": {
"Digital Identity": 4,
"Google Business": 1,
"Reviews": 5,
"Technical SEO": 1,
"Content": 2
},
"surfaces_ok": {
"google_business_profile": true,
"apple_maps": true
},
"surfaces_failed": {
"bing_places": false,
"website": false
},
"rating": 4.8,
"reviews": 3860
},
"findings": [
{
"id": "nap_phone_mismatch",
"severity": "immediate",
"title": "Phone number inconsistent across 1 surface(s)",
"sub_score": "Digital Identity",
"evidence": {
"google": "(530) 290-5551",
"apple": "+1 (916) 866-5596"
},
"recommendation": "Standardize phone format across all directories. GBP is authoritative."
},
{
"id": "nap_address_mismatch",
"severity": "immediate",
"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"
},
"recommendation": "Standardize exact address format. GBP address is authoritative."
},
{
"id": "hours_mismatch",
"severity": "immediate",
"title": "Hours mismatch on 7 day(s) \u2014 GBP is authoritative",
"sub_score": "Google Business",
"evidence": [
{
"day": "saturday",
"google": "Open 24 hours",
"apple_maps": "12:00 AM-12:00 PM"
},
{
"day": "sunday",
"google": "Open 24 hours",
"apple_maps": "12:00 AM-12:00 PM"
},
{
"day": "monday",
"google": "Open 24 hours",
"apple_maps": "12:00 AM-12:00 PM"
},
{
"day": "tuesday",
"google": "Open 24 hours",
"apple_maps": "12:00 AM-12:00 PM"
},
{
"day": "wednesday",
"google": "Open 24 hours",
"apple_maps": "12:00 AM-12:00 PM"
},
{
"day": "thursday",
"google": "Open 24 hours",
"apple_maps": "12:00 AM-12:00 PM"
},
{
"day": "friday",
"google": "Open 24 hours",
"apple_maps": "12:00 AM-12:00 PM"
}
],
"recommendation": "Correct hours on non-GBP surfaces to match GBP. Mismatched hours cause customer complaints and trust loss."
},
{
"id": "rating_below_threshold",
"severity": "immediate",
"title": "Average rating 3.6 \u2014 below 4.0 threshold",
"sub_score": "Reviews",
"evidence": {
"average": 3.65,
"by_source": {
"google": 4.8,
"apple": 2.5
}
},
"recommendation": "Address negative reviews, request new reviews from satisfied customers. Below 4.0 is a strong conversion blocker."
},
{
"id": "nap_website_mismatch",
"severity": "high",
"title": "Website URL inconsistent across 1 surface(s)",
"sub_score": "Digital Identity",
"evidence": {
"google": "https://gilmoreair.com/service-areas/antelope/?utm_source=GBP-listing&utm_medium=organic&utm_campaign=antelope-ca",
"apple": "https://gilmoreair.com"
},
"recommendation": "Use one canonical URL (prefer HTTPS, no www) across all directories."
},
{
"id": "rating_delta_high",
"severity": "high",
"title": "Rating varies by 2.3 across surfaces (range: 2.5\u20134.8)",
"sub_score": "Reviews",
"evidence": {
"google": 4.8,
"apple": 2.5
},
"recommendation": "Investigate why some surfaces show different ratings. May indicate stale data or mixed-up business listings."
},
{
"id": "no_website",
"severity": "high",
"title": "No website found",
"sub_score": "Technical SEO",
"evidence": {},
"recommendation": "A website is essential for credibility, schema markup, and conversion. Launch one immediately."
},
{
"id": "review_count_delta",
"severity": "medium",
"title": "Review count varies by 3588 across surfaces",
"sub_score": "Reviews",
"evidence": {
"google": 3860,
"apple": 272
},
"recommendation": "Large review count gaps suggest some surfaces have stale or merged data. Verify listing ownership."
},
{
"id": "review_dates_unavailable",
"severity": "medium",
"title": "Cannot determine review recency \u2014 no dates available in samples",
"sub_score": "Reviews",
"evidence": {
"sources_with_dates": []
},
"recommendation": "Review date data is not available from current surfaces. Monitor via GBP dashboard directly."
},
{
"id": "category_fragmentation",
"severity": "medium",
"title": "Category varies across surfaces: consumer sector, hvac contractor",
"sub_score": "Digital Identity",
"evidence": {
"google": "hvac contractor",
"apple": "consumer sector"
},
"recommendation": "Align primary category across all directories. GBP primary category is the ranking driver."
},
{
"id": "no_description",
"severity": "medium",
"title": "No business description found on any surface",
"sub_score": "Content",
"evidence": {
"surfaces_checked": [
"google",
"bing",
"website"
]
},
"recommendation": "Add a keyword-rich description to GBP and website. Descriptions improve click-through and category relevance."
},
{
"id": "reviews_low_specificity",
"severity": "enhancement",
"title": "Only 0% of sample reviews mention specific services or practitioners",
"sub_score": "Reviews",
"evidence": {
"sample_size": 3,
"specific_count": 0
},
"recommendation": "Encourage detailed reviews mentioning services and staff. Specific reviews rank higher and convert better."
},
{
"id": "no_price_level",
"severity": "enhancement",
"title": "Price level not set on GBP or Apple Maps",
"sub_score": "Content",
"evidence": {},
"recommendation": "Set price level ($\u2013$$$$) on GBP. Helps users self-select and improves relevance."
}
]
}