Files
veripath/docs/validation/2026-08-15-scottys-heating-air/VALIDATION.md
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

2.8 KiB
Raw Blame History

Validation Run: Scotty's Heating & Air

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.1 §3)

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

  • immediate — Phone number inconsistent across 1 surface(s)
    distinct numbers: 5304297616, 5306266000
  • medium — Website URL carries UTM parameters on one listing
    google='https://www.scottysheatingandair.com/?utm_source=google&utm_medium=organic&utm_campaign=gbp' vs apple='https://www.scottysheatingandair.com/' — same domain, attribution/SEO split risk (Gilmore precedent: material)
  • high — Rating varies by 0.7 across surfaces (range: 4.14.8)
    google 4.8 vs apple 4.1

Needs verification (excluded from report until confirmed)

  • immediate — 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

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

  • Address inconsistent across 1 surface(s) — same street/city/zip; suite format only (# vs Ste vs Unit)
  • Review count varies by 143 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 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 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