# Validation Run: AirTech Pros **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.1 §3) ### Material (survive normalization → in REPORT-final.md) - **immediate** — Phone number inconsistent across 2 surface(s) `distinct numbers: 5303032225, 9169300010` - **immediate** — Address inconsistent across 1 surface(s) `google='10210 Systems Pkwy #370, Sacramento, CA 95827' vs apple='4961 Windplay Dr, El Dorado Hills, CA 95762'` - **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` - **high** — Website URL inconsistent across 1 surface(s) `google='https://airtechpros.com/?utm_source=google&utm_medium=organic&utm_campaign=gbp' vs apple='http://teamairtech.com/' — different domains` - **medium** — JSON-LD present but no LocalBusiness type `schema at https://airtechpros.com/?utm_source=google&utm_medium=organic&utm_campaign=gbp lacks LocalBusiness/Dentist/Plumber type — AI/structured data can't classify the business` ### Needs verification (excluded from report until confirmed) - none ### Rejected (format false-positives / low-signal / tooling gaps) - ~~Cannot determine review recency — no dates available in samples~~ — tooling gap: scraper captures no review dates (documented limitation) - ~~Category varies across surfaces: air conditioning contractor, consumer sector~~ — low-signal: per-platform taxonomy (Apple 'consumer sector' is its default) ### 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 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 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