Files
tonyjbala 73204c4810 fix(auditing): website NAP via Jina Reader fallback + phone-extraction fix
- website surface: Jina Reader re-render when direct HTML lacks a visible
  phone (bot-walled 403 or client-side rendered phone) — the NAP
  cross-check no longer loses its third source
- phone regex: lookarounds reject phone-like substrings glued to other
  digits (JS artifact numbers from raw HTML)
- renderer: jina_reader provenance key when fallback fires
- --selftest mode (offline check of phone extraction)
- VALIDATION.md: gate re-run timestamp (PASS unchanged)
2026-08-15 17:25:23 +00:00

3.3 KiB
Raw Permalink Blame History

Validation Run: Gilmore Heating, Air and Plumbing

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

Reviewer dispositions (locked process v1.1 §3)

Material (survive normalization → in REPORT-final.md)

  • 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.54.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

Needs verification (excluded from report until confirmed)

  • none

Rejected (format false-positives / low-signal / tooling gaps)

  • 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)

Enhancement tier (noted, excluded from client report)

  • Only 0% of sample reviews mention specific services or practitioners
  • Price level not set on GBP or Apple Maps

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:52:53

  • 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