Three sheets, US Letter portrait — Ctrl + P prints them 1:1 (margins: None).
SalesBoost

PHASE ATLAS v3 → PHASE CRUCIBLE

PAGE 1 / 3 · FIND + QUALIFY
What the three pages show
  1. Page 1 — find and qualify. Discovery by city across the map, then each firm gated on its own site before a cent is spent on it.
  2. Page 2 — reach them. How a qualified firm becomes a named person with a verified inbox, and the ladder that gets there cheapest first.
  3. Page 3 — build the list. What survives to a sendable list, and what is dropped on the way.
  4. The map and the diagrams are the mechanism — they show how it works, not just that it does.
⓪ Discovery · city by citya map → firms
A SEGMENT + A MAP
RThe 3-stage rule
① discover by location + category② hyper-run each company③ SOURCE KILO-enrich the decision-makers
S1Pick the scope
whole USregionstatecounty listmin_pop floor
S2Build the city list
the place tablebiggest firstdedupe (city, state)priority states leadstrip city / town / CDP / (balance)
S3One search per CITY
"<segment query> <city> <state>"
S4Four discovery engineskeep-rate
ENGINE ALPHA 62% freeENGINE BRAVO 49% freeENGINE CHARLIE ENGINE DELTA 22%ENGINE ECHO 11%ENGINE FOXTROT 9%
S5Ingest → companies
namecity / statephonewebsiteprovenance_source
◆A directory URL, not the firm's own?
→DROP
A NAME, A TOWN, MAYBE A URL  → ①
① v3 · The free funnelper firm
G0GATE 0 · directory host?
a maintained aggregator blocklist
→SKIP
1STAGE 1 · HTTP fetch + full harvestfree
1a classify every address1b harvest guards1c team-page triples
own_roleown_personalfreemailother_domain
1bSTAGE 1b · rendered scanrequiredfree
headless rendercrawl contact / about / teamde-obfuscate
1cSTAGE 1c · general-inbox ladder
0 held1 static2 rendered3 LOOKUP ONE4 VERIFIER probe
exits on first resolvecatch-all short-circuitmulti-company drop
◆Already reachable?
→NO SEARCH
G1GATE 1 · in segment?
tier 0 universalANALYST verdictfitted modeladjacent tradepage gate
→BAIL
1dSTAGE 1d · site archivefree
probe before the gatefull after in
$$The 11 spend safeguards
segment config requiredskip directory hosts1 query per DOMAIN per state1 per NAME per stateskip already-rosteredskip already-reachablezero-yield memorymax_credits≤ 5 queries per firmquery cachedry_run
IN SEGMENT, STILL UNREACHED  → ②
② v3 · Names + titleswho works there
2STAGE 2 · stacked name harvest
alpha_index1 freealpha_index2 freegolf_index1 charlie_index2
merged under one entity gate
TTITLE-FIRST SEARCHone seat at a time
1Three engines, in order until one yields ENGINE CHARLIE ENGINE GOLF freeENGINE ALPHA free
2Where the title comes from the URL slugSERP subtitleadjacency passthe query itself
3Archive every raw response before parsinga parser fix never re-fetches
4One pass per title never an OR-block
XCells measured and dropped
charlie_index3 0 peoplegolf_index2 0 uniquecharlie_index1 wrong company
G2GATE 2 · employer stated + matching?
→DROP
G3GATE 3 · buyer / specifier role?
→DROP
ADRAddress decision tree
1 scraped2 pattern3 general inbox4 name only
no inline guessing
NAMES, NOT YET PEOPLE  → PAGE 2
⑥ Transport · the exits every search above rides onIP harvest & proxy layer
T1ROUTE POOL
the pool launchera pool of exitsa fixed port blockone data dir per portidempotent relaunchhealth proberate-limited PER exit IP
T2ENGINE ALPHA endpoint
lite/, never html/html/ = 403 on every exittable DOMsingle-quoted classesuddg= redirect unquoteddedupe page 2+
T3ROUTE PRIMARYdefault
residential exitsmetered bandwidthtraffic never expires__cr.us country formsticky sessid.Npod .secrets → repo
T4ENGINE GOLF over residential
the INDEX ONE indexcircuit breaker at 30 failswidth 1 = width 8~1% block, conc 3–14
T5ROUTE BACKUPbackup
route=backupswitchablenever a bare username
◆Exit healthy?
the route health checkcode A = balance exhaustedcode B = bandwidth exhaustedcode C = blockedlive exit IP + country
→STOP
Key stage gate the branch it refuses freeno spend ENGINE CHARLIE · VERIFIER ONE · bandwidth requirednever optional
internal reference · detail in the internal spec page 1 of 3 · 2026-08-26

Reach them → then go deep

PAGE 2 / 3 · REACH + DEEP SCAN
③ v3 · Reachabilitynames → people
NAMES + TITLES, NO ADDRESS
4STAGE 4 · owner sweep
pre-filter the target listone pass per roleingest as decision-maker
owner · founder · principal · president · partner · ceo · coo
5STAGE 5 · location recoveryfree
scrape the firm's sitevalidate vs REGISTRY ONEstate must matchENGINE CHARLIE fallback
6STAGE 6 · SOURCE KILO
personal emailcellhome address
parallel shards · dm-only · state-only-risk
7STAGE 7 · business email
7·0 derive the format7·a VERIFIER check7·b apply verdicts7·c fill by format
phase A free · phase B probe · max 3 rungs
8STAGE 8 · ad audiences
TIGHTLOOSEBIZPHONE
FN + LN on every row
LEFTThe unfinished list
has staff, no ownerrejected by the gatesnever swept
STILL THIN?  → ④
④ PHASE CRUCIBLE · the run1 ANALYST = 1 company
◆THE HAND-OFF · relevant ≥ 2, or an owner found?
the run outputthe blocked logthe miss log
→DONE
SELSelect the run pool
pick orderstate lockkeywords − negativesskip if doneheadless spawnpaced against the ANALYST pool
0STEP 0 · find the websiteif none on file
search the official sitestate match mandatoryown domain only
→BLOCK
1STEP 1 · measure + fast gate≤ 2 page views
1a measure html_kb1b write the site record1c judge all three
in segment?legit own site?big enough?
→BLOCK
2STEP 2 · build the full roster5–10 min
ACrack the email pattern find an anchoranchor blocklistMX lookupowner fallback
BDepth pass — read everything see lane ⑤ →thin-footprint short-circuit
CEvery named person nameexact titleemailphonesource_urlconfidence
C2The handshake inbox one dedicated rowonly if publishednever a pattern anchor
DCompleteness check count the rolesone more searchaim 6+ staff
OUTOutput → ingest
the run output 1 row per personthe site recordthe blocked log
→ contacts → bucket crucible
A VERIFIED, SOURCED ROSTER
⑤ The deep scanwhat one ANALYST reads
B1INDEX ONE SERP
site:index-one.com "<firm>"name + title per resultfirst-letter email j***@confirms the pattern
B2INDEX TWO company page
the employee listrecover a missing title per person
B3Nine role queriesvia WebSearch
owner / founderpresident / GMproject managersuperintendentinterior designer / selectionsestimator / purchasingscheduleroffice managerlead carpenter
B4The press & the paper trail
aNews clippings & local press hires & promotionsexpansionsawardsacquisitionsESOP / ownership changes
bPublic records STATE FILINGSregistered agentREGISTRY officers
cTrade & local rosters TRADE BODIESTRADE SHOWCASETRADE PORTALChamber
dThe rest of the footprint MAPS SOURCEJOBS SOURCEthe firm's own social Aboutagency case studies
RThe rules it runs under
never fabricatenull beats a guessa confidence label per personstay in staterole boxes are not anchorsheadless — never a browser
EXTwo real runs
1CLIENT EXAMPLE ONE 11–12 named staff6 own-domain emailsmostly NOT on the company sitemodel 6/6
2CLIENT EXAMPLE TWO 8 sourced peopleESOP from a press releasean acquisitionREGISTRY officersoutsourced marketing agencyheadcount left unresolved
THE STRONGEST EVIDENCE TIER IN THE POD
⑦ Enrichment transport · the exits Stage 6 and the deep scan ride onIP harvest & proxy layer
E1SOURCE KILO harvest
parallel shardsdm-onlysticky session per shardresidential exitsresume-able
E2Deep-enrich sources
7 site sources3 ENGINE CHARLIE sourcesper-source cool-off
E3The proxy ladder
ROUTE PRIMARY→ ROUTE BACKUP→ directprobe the vendor first
E4Direct-fetch fallback
6 of 7 sites answer directSOURCE MIKE 403s directSOURCE MIKE carries the ZIP
E5One runner per pod
single-runner lock2 runners = 32%
◆Rate sane?
SOURCE MIKE gate = 3sceiling ≈ 20 people/minfaster = sites skippedempty ≠ no record
→STOP
Key stage gate the branch it refuses freeno spend ENGINE CHARLIE · VERIFIER ONE · bandwidth Order 5 → 6 · 7·b → 7·c · 6 → 8
internal reference page 2 of 3 · 2026-08-26

Build the list → prove it sends

PAGE 3 / 3 · LISTS + GATE + 8-STEP
⑧ LISTSv2 · the poolspeople → a list
GATED PEOPLE IN contacts
P1stage_podin front of every pool
resolve_gate per rowkeeps in + unclearpod suppressionintake gate
P25 variantswho at the firm
A/B/C/D gradedownergeneral boxkey roleno-general POC
P36 evidence tiershow good the address is
site-statedsite-stated deskcatch-all + formatVERIFIER validvalid + provenuntested
tiers OVERLAP — never summed
P4Graded bands
A/B the buyerC/D the rest of the roster
display splits — these DO add up
P5Subfilters
regionstateruralityfit tierniche
P6Specific listsa saved cut
saves the questionnever a frozen setlive distinct countCSV export
P7Intake queueapprove before a pool
baseline grandfatheredpendingheldapprovedrejected
sticky per address · inert until rebuild
EVERY POOL IS POST-GATE
⑨ The segment gateis this our buyer?
L0Tier 0 · universal refusals
institutional hostforeign TLDcivic listingplatform hostnot a company namenews headline
a mailbox host is never a domain verdict
L1Stored ANALYST verdictit read the site
the verdict storepaid once, free forevernever paid twice
L2Fitted ML modelfree
aTrain it per pod the model trainerfitted on stored verdictsheld-out report card
bFeed it title + meta only body text = train/serve mismatch
cApply above the margin the model applierdecide-free vs worth-an-account
dKeeps well, removes badly in 89%trade 50%off 54%ship at ≥ 85%, else buy labels
eA model refusal is SOFT never bulk-drops
L3Adjacent-trade rulefree
deterministicprofile adjacent()carve-outs
L4The page gatefree
pos / neg on the page HTMLnever the company name
◆Verdict
in keptunclear kepttradeoff
→REFUSE
L5Which gate a pod has
authored classderived from the segment profilechainednone
an ungated pod must LOOK ungated
A VERDICT PER DOMAIN
⑩ The 8-step email checkper ADDRESS, at the source
ONE ADDRESS + THE WIRED SUBJECT
8The eight checksfree
1Merge data present hardevery tag resolves non-blank
2Merge names read not an email local partnot a ranknot a departmentnot reversed
3Deliverable hardVERIFIER validor catch-all + site-proven format ×2
4Not suppressed hardaddressdomainunsubscribedbounced
5Subject renders hardno surviving *|TAG|*no double spaceno dangling comma
6Corrected names applied clean_companyagency_shortacademy_short
7Short enough to send hard≤ 60 characters
8Name matches the domain distinctive words appear in the host
SThree non-pass states
runskipped no subjectunavailable no workspace
a pod cannot answer check 4
AWhere it abstains
shared host ≥ 3 orgsfree-mailcomputed over the WHOLE pod
MMerge-tag enricheranalyst
name_clean runs FIRSTANALYST reads what survivedSEO titlesnav labelsHTML entitiesdescriptors
popout — nothing applied until Apply
VA pass is stored, not re-derived
keyed to the addressrevsubject_keyprofile_key
change any of them → UNCHECKED again
◆Promote the pool?
≥ 25 sendablerefusal under 40%check 4 answerable
→HOLD
A LIST THAT CAN BE SENT
Key stage gate the branch it refuses hardone failure refuses the row freeno spend analysta model reads it
internal reference page 3 of 3 · 2026-08-26