6 Commits

Author SHA1 Message Date
Leonard 8bb1d7b791 fix(auditing): reject call-tracking placeholders in website phone extraction
_valid_phone() rejects all-same-digit numbers (999-999-9999, 000-000-0000)
that call-tracking widgets emit before they are wired; _phone_from_text now
scans past an invalid first match instead of returning it. Selftest covers
placeholder rejection and visible-text-wins-over-tel: semantics.
2026-08-15 17:54:03 +00:00
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
Leonard 1b6b204303 fix(auditing): vendor google-maps-scraper path (reboot-proof, /tmp -> ~/deps) 2026-08-15 14:00:42 +00:00
Leonard (VeriPath Agent) 63a24dde3a fix(auditing): reject bad GBP matches + strip phone glyph
- Add _looks_like_match() gate in scrape_google(): rejects search-page
  titles and names sharing no >=4-char token with the query, so the scraper
  no longer ingests a wrong entity (e.g. name='Hours', or 'RK Mechanical'
  for an 'Aire Serv' search).
- Strip BMP PUA glyphs (U+E000-U+F8FF, e.g. the \ue0b0 map-pin) from GBP
  address + phone. Old regex only covered the Supplementary PUA plane
  (\U000E0000-\U000EFFFF) so the glyph leaked into the contract and broke
  downstream phone normalization.
- Also: Apple Maps fallback path when GBP is rejected, and makedirs for the
  optional 3rd-arg output dir.
2026-08-14 20:31:55 +00:00
tonyjbala 822cf7b69a feat(auditing): GBP quality gate + Apple fallback in multi_scraper.py 2026-08-14 17:15:21 +00:00
tonyjbala a17fa8dc65 feat(auditing): add multi_scraper.py — multi-surface GBP/Apple/Bing/Website extractor 2026-08-14 15:39:47 +00:00