One plain text, no link. The owners who reply YES get a call from Mia. She offers to build the site first, free, live in 24 hours, $450 once and only if they keep it, then books two real slots on your calendar. Every call is recorded and graded before anyone touches a script.
Each correction stays in this document. The corrections are the reason to trust the rest.
Path A is the flow for every lead right now. Path B is the pre-built site reveal, and it phases in one lead at a time, only when a real site for that business passes a check at the moment of sending.
The old flow texted a link first. That only works when the site exists, and today it does not for any of the 1,319. Texting a dead link burns the sending number and the brand in one afternoon. So the cold text says who we are and what we do, nothing more. A YES routes to Mia on the cold script: build first, free, live in 24 hours, $450 once and only if they keep it.
The gate for Path B is strict on purpose. The page has to be live and show that business's own name, checked again right before the text goes out. Fails closed. A lead that started on Path A never gets switched to a link mid-stream.
Six segment-specific cold texts, each under 200 characters, no link in any of them. Sending window 9 to 18 in the owner's own time zone, nothing outside it. STOP is permanent and checked before every send.
The scrape ran 30 trades across 27 metros. Rows are not businesses, so everything is counted by place, then deduplicated again by phone: 7,564 businesses, 7,400 distinct phones behind them. Then every candidate went through the do-not-call and litigator lists before it was allowed near the sender.
maps_supply_receipt.json "ts": "2026-08-31T20:52:36Z", "credits_used": 807, "raw_rows": 7,973, "duplicates_collapsed": 409, "unique_businesses": 7,564, "distinct_phones": 7,400, "place_id_fill_pct": 100, "segments": { "has-site": 6,417, "no-website": 743, "social-only": 238, "diy-abandoned": 108, "booking-platform-only": 58 }Straight from the machine, 31 Aug 2026. Cost lines removed, nothing else touched.
| Dial-ready by script | Count | What the owner has today |
|---|---|---|
| Outdated, dead or DIY site | 673 | 402 outdated, 189 that do not load, 82 abandoned builders. They paid for a site once, so budget is proven. |
| No website | 449 | Phone number, reviews, and an empty website button on the listing. |
| Social or booking page only | 197 | 155 point at Facebook or Instagram, 42 at a booking page. Neither owns the front door. |
The businesses with a current, working site stay in the table untouched. There is nothing to sell them.
A Maps "business" number for a one-van operator is a personal mobile. Do-not-call rules bite almost as hard as they do on a consumer list.
Every removed number sits on a suppression list the sender checks before each text. The roster on the box is the clean 1,319 and nothing else.
pitchable.jsonl.scrub.json "scrubbed_at": "2026-08-31T20:56:15+00:00", "total_in": 1,084, "flagged": 356, "flag_rate": 0.3284, "breakdown": { "federal_dnc": 335, "state_dnc": 63, "tcpa_litigator": 17, "invalid": 4 }, "clean_out": 728 upgraded.jsonl.scrub.json "scrubbed_at": "2026-08-31T21:04:38+00:00", "total_in": 945, "flagged": 354, "flag_rate": 0.3746, "breakdown": { "federal_dnc": 333, "state_dnc": 55, "tcpa_litigator": 14, "invalid": 7 }, "clean_out": 591 sum checked 2,029 removed 710 (35.0%) litigators 31 clean 1,319Both scrub receipts, 31 Aug 2026. Provider name removed.
The breakdown adds to more than the flagged count because one number can sit on more than one list. Flagged counts distinct numbers: total_in minus flagged equals clean_out in both passes.
Share of each metro's scraped businesses with no site, a social-only or DIY page, or a booking page only. Between 258 and 293 businesses scraped per metro.
The four metros above 27% are all mid-size. Orlando and Atlanta, where the first weeks of dialling went, sit at the bottom: every solo operator there has already been sold a website. Same texting effort in Shreveport or El Paso reaches roughly four times the pitchable owners.
Correction on the record: the last deck showed Orlando at 94%, Lubbock at 93%. Those came from samples of 17 to 28 businesses. This chart is the full scrape.
Fifteen real test calls from your phone. The first 11 went through the ear. The last four were the booking proof, and two of those completed the entire chain for the first time: real open slots, a real booking on your calendar, the confirmation text, a clean hangup, and a full recording on disk.
quality/*.json Mia vs a scripted owner, voice to voice # script x persona verdict longest turn (gate 12s) spar4 cold x cold_yes PASS 11.00s booked via tool spar4 cold x skeptic PASS 11.75s no booking (correct) spar5 outdated x Ray PASS 11.70s booked, link sent live spar7 cold x cold_yes PASS 10.05s booked, one goodbye spar11 cold x skeptic PASS 6.05s no times after refusal spar12 cold x skeptic PASS 7.55s no "sent" contradiction robotic score withheld as UNRELIABLE on most, as calibratedSpar grades on the box, 2 September 2026
The 5 to 13 second pause after the owner says "go ahead" (13 events across 7 of 22 real calls, worst 13.4 s) was traced by replaying the real recordings through the engine: not the prompt, the inbound noise gate. It fed pure digital silence after Mia's long turn and the model's speech detector then missed the owner's next short answer. The fill was changed on 6 September; on the replays every one of those pauses drops to about one second. It has not yet been heard on a new live call, so it stays in the open list until the next graded real calls confirm it. Housekeeping: two test bookings under "Canyon Mobile Mechanic" sit on your calendar from the proof calls. Delete them in the GHL UI.
A transcript cannot hear a pause. A log line cannot hear a robot. So every recording, real or spar, goes through the same three layers, and nothing ships to a stranger until the gate prints ALL GATES PASS.
The listener's score turned out to be noise: the same recording can swing several points between readings. So the number never blocks anything. Two models read each call twice, the median is kept, and when the readings disagree by four or more the score is withheld as unreliable. What gates is measured: turn length, dead air, tool truth, and a regression check against a known-good call.
Tool truth means the words have to match the machine. "Booked" with no booking call is a fail. A time with no slot pulled is a fail. A link on a cold lead is a fail.
The intent file cannot describe a business well enough to build one a website. We measured the fill rates on three thousand records of that file in August. Nothing since has changed them.
| Field the offer needs | Populated |
|---|---|
| Which trade they are in | 6% |
| Website status | 25% |
| What they searched for | 0% |
| Owner of a business under ten people | 1% |
Nothing above has touched a stranger. Every number is a test with our own phones. Four deliberate steps remain, and each one is a hard gate on purpose.