5-Source Fresh-Eyes Discovery Forensics

Texas Roofing
How AI Actually Searches

2 GPT agents + 2 Claude agents + Wave Maps reveal how AI systems actually try to answer one human request — "find all the roofing companies in my town" — town-by-town and statewide. Every source, every why, every inclusion trail preserved.

4,077
Unique Roofers
122
TX Towns Searched
3,337
With Website
3,775
With Phone
17
AI-Vis GREEN
2,237
AI-Vis RED
Section 1

Executive summary

5 independent discovery surfaces. 122 towns. 1 simple human request per location.

Multi-source confirmation

384 companies appeared in 2+ sources. 61 in 3+. 9 in 4+. 1 in all 5.

AI-Visibility distribution

2237 RED · 859 AMBER · 17 GREEN. 964 unscored. Average score 31.1/100.

Maps reality vs LLM surface

Wave Maps surfaced 3365 roofers Google can show today. LLM agents only converged on 1167 of those. That gap is the AI-invisibility gap.

Section 2

What this report tested

A one-prompt-only experiment. Same human request every time. Forensic notebook mandatory.

The town request

"Find all the roofing companies in my town." Issued to every TX town for both GPT and Claude. Each town treated as a brand-new first search — no memory carry-forward.

The state request

"Find all the roofing companies in my state." Issued once to each engine. Maximum-effort statewide discovery under the same simple prompt.

The fresh-eyes rule

Every town must restart the mental frame from scratch. Companies may reappear across towns only if independently rediscovered.

The diary requirement

Each agent kept a chronological notebook — interpretation, first move, sources opened, qualifying signals, why each company qualified, when to stop. The diary is a primary deliverable, not background thought.

Section 3

5-source architecture

Each surface produced an independent diary + dataset. Cross-source confirmation is one of the most important signals.

GPT Town Agent

197 companies surfaced. OpenAI gpt-5.5 + web_search. One fresh-eyes call per TX town, no memory carry.

GPT State Agent

80 companies surfaced. One statewide call. Tested how the same engine behaves when asked at scale.

Claude Town Agent

703 companies surfaced. Anthropic Claude Opus 4.7 + WebSearch. Town batches, fresh-eyes reset between every town.

Claude State Agent

187 companies surfaced. One statewide forensic discovery run.

Wave Maps Agent

3365 businesses surfaced. Google Places textSearch · 5 query forms × every town. The reality layer.

Section 4

Completion ledger

Every town accounted for. Skips, failures, partials all surfaced honestly.

Master list

122 towns

GPT Town complete

8 / 122

Claude Town complete

122 / 122 (8 / 8 batches)

Maps unique

3756

State agents

GPT ✓ · Claude ✓

Section 5

Discovery forensics overview

LLM source paths and Maps surfacing paths shown separately — they're different layers and must not be blended.

LLM agents · source path mix

Maps · surfacing context

Per-agent yield

AI-Vis color distribution

Section 6

Why AI found these companies

Patterns from the agents' inclusion-reason sentences — the explicit "I included this company because..." they were required to write.

Official site clearly says roofing + service area

Dominant pattern. The agent guessed or landed on the business's own domain, saw service-area copy + "Texas" + town name, and included it. Brittle — only works for guessable domains.

Search snippet ties roofing to town

Web result snippet contained the town name and "roofing" — agent included on snippet alone without opening the site.

Directory grouped local roofers

Yelp / Angi / BBB list page existed for the town · agent harvested company names from it.

Manufacturer certified-installer pages

GAF Master Elite, Owens Corning Platinum directory entries — strong qualifying signal because the trade body vetted the business.

Multi-source visibility

The same company on multiple types of sources (own site + directory + chamber) raised the agent's confidence and triggered inclusion.

Chamber / association

Local chamber-of-commerce roster pages — strong locality signal especially in smaller towns.

Section 7 · THE GOLD

Source-URL placement-target ranking

The single most actionable view in this report. Every host the LLMs cited, ranked by how many forensic records it appeared in. These are the directory pages WR customers need to be listed on, the manufacturer pages they need to be certified through, and the chambers they need to join.

Section 8

Cross-source confidence buckets

Click any bucket to filter the master table below to just those records.

Section 9

Interactive master registry

Filter by HOW found, AI-Vis color, town, or text. Click any row to expand FULL forensic — every agent that found it, every source URL, every inclusion reason.

How found
Source count
AI-Vis
Combos
Town Sort Search
Business City Sources AI-Vis Contact
Section 10

Town search diaries

Every town's GPT + Claude notebook in one place. Click a town to expand both agents' reasoning side-by-side.

Section 11

State agent diaries

Full statewide forensic notebooks for both GPT and Claude.

Section 12

Strategic takeaways for WebsiteRecycling

What AI rewards in a roofer's own site

Guessable domain (companyname-roofing.com), service-area copy mentioning every TX town served, contact + phone above the fold, schema.org structured data, llms.txt directive, sitemap.xml.

What AI misses without a directory

The 433+ Maps-only roofers are statistical ghosts to ChatGPT/Claude. They need to be planted in Yelp, BBB, Angi, GAF Master Elite, local chambers AND in WR-built city/vertical .xyz directories.

What Maps sees that LLMs miss

Hundreds of legitimate small/medium roofers with phone + address + reviews. LLMs ignore them because their domain isn't AI-bot-allowlisted or doesn't exist.

What LLMs see that Maps misses

Larger statewide brands cited in directory roundups and manufacturer pages — LLMs amplify the already-visible. Smaller locals get nothing.

The placement playbook

Use Section 7's source-URL ranking as the literal placement target list. Get WR customers ON those domains. That's how you flip the AI surface.

The recycling moat

WR doesn't compete for AI ranking — WR creates the AI-indexable record that didn't exist before. Cheap moat: $1/year .xyz slugs × hundreds of city-verticals = $2,500/yr to own the AEO index layer.

Section 13

Raw artifacts

Master JSON and CSV exports.

Download tx_merged.json — full registry + all diaries

All 4,077 businesses · 3113 AI-Vis scans · every agent's diary · every source URL