How one law-firm listing gets found, checked, named and finally drawn on the tempmap1 map. Every stage below shows real listings from the Seattle-area run, what was kept, what was thrown away (in red), and why.
Numbers measured 31 Oct – 1 Nov 2026 from the September 2026 run (c3a0e554_2026-09) with read-only database queries. Anything we could not confirm is marked unverified.
Words used on this page
Listing
One business entry on Google Maps: a name, an address, a phone, maybe a website. One law firm with three offices has three listings.
cid
Google's ID number for one listing, e.g. 8957294568084597328. It never changes, so we track listings by it.
Website / domain
The site a listing links to, trimmed to its bare name, e.g. searsinjurylaw.com.
Verdict
Our answer to "is this a private law firm?": ATTORNEY_CONFIRMED (yes), NON_ATTORNEY (no), NO_DATA (couldn't tell — website wouldn't load), UNCERTAIN (looked, still unsure).
Silver
The big list of every listing we have looked at, with its verdict each month. Silver keeps the no's too.
Gold
The short list of listings whose most recent clear verdict is "yes, a law firm". Gold is not a separate copy — it is a filter laid over silver.
Grid
A net of 1,544 evenly spaced points over the Seattle area. At each point we ask Google "who ranks for divorce lawyer here?" (and 7 other searches).
Rank
A listing's position in Google's results at one grid point: #1 is the top.
Sears Injury Law, PLLCsearsinjurylaw.com · Puyallup · cid 8957294568084597328Kept — has a website, inside the area
Wallace Campbell PLLCSeattle areaKept
Christian Family Lawyerno websiteDropped — no website (557 like this)
Seeley David J · Steinborn Jeffrey · Ditlevson Rodgers Dixon PSno websiteDropped — no website
Kirkland Municipal Court · Social Security Administration (ssa.gov) · Federal Trade Commission (ftc.gov)governmentDropped — .gov / state .us website (61 like this)
Olympic Appeals PLLC · Ticket Cutter · Divorce Lawyers for MilitaryvariousDropped — outside the area, no address, blocklist, or lead-gen (354 in total; which rule hit each one is not recorded unverified)
EXPLANATION
What it does
Types 17 searches ("divorce lawyer", "personal injury attorney" …) into Google Maps from 18 towns (Arlington down to Olympia) and keeps the lawyer-looking listings with a website inside our map area.
Goes in
17 searches × 18 towns = 306 requests to DataForSEO (a paid Google-results service), up to 700 results each. Cost $0.87.
Comes out
One row per listing in silver, each with its website.
Google mixes courts, agencies, tax shops and directories in with lawyers. The cheapest filters (no website, .gov, .org) remove the obvious ones before we pay to look closer.
Side effect
Real firms with no website are dropped here and never reach the map. Stage 008g fixes this.
Source: bronze raw results of run c3a0e554_2026-09_1mon; silver row count.
002a
Website check: does the site actually load?
l3law.comLucky Lufkin Law PLLCLoaded — 1,977 sites like this
celebilaw.com · the206lawyer.comCloudflare "are you human?" wallBlocked — 159 sites; sent to a real browser in 003b
conomlaw.com · curnowfamilylaw.com403 ForbiddenBlocked — 105 sites; retried in 003b
peterjnichols.com · huntlawofficeswa.comsite not foundDead website
We can't judge a firm by its name alone. We need to read its website.
Source: 002a crawl table, September run.
003a · 003b · 003c · 003d
Is this a private law firm?
Aiken St Louis & Siljeg PSaiken.comATTORNEY_CONFIRMED
Law Office of Laura Shaverlaurashaverlaw.comATTORNEY_CONFIRMED
My Legal Pit Stoplegal technician (LLLT), not a lawyerNON_ATTORNEY
Reid Ballew & Leahy LLPrmbllaw.comNON_ATTORNEY — site now a music memoir
Feil Law Officefeillaw.comNON_ATTORNEY — domain for sale (HugeDomains)
Talbot & Kesling Lawtalbotinjurylaw.comNON_ATTORNEY — website is a school
Puyallup Regenerative Medicine Spine & Injury CenterGoogle category "Personal injury attorney"NON_ATTORNEY — a clinic
TAK Group LLC · Rushmore Tax Service · Community Tax Servicestax preparersNON_ATTORNEY
Mary E. Owen Consulting & Mediation · Sound Workplace Investigationsmediator · investigatorNON_ATTORNEY
EXPLANATION
What it does
003a checks the Google category against our list of ~35 lawyer categories. 003b opens blocked sites in a real browser. 003c has AI read the site in up to three passes (a fast model first, a stronger one when unsure; legal technicians are a "no" by rule). 003d copies each website's verdict back onto every listing that uses that website.
Goes in
2,507 websites with readable text.
Comes out
One verdict per website, then per listing.
Counts
Websites: 2,125 yes · 355 no · 15 no data · 12 "likely". Listings: 2,520 yes · 369 no · 145 no data · 13 other = 3,047. AI cost $3.21.
2,520 yes
369 no
145 no data
Problem solved
Google's "attorney" category is wrong often enough (clinics, tax shops, dead domains) that we read every site.
Source: 003c verdict table and silver_cids, September run.
004a · 004b → GOLD
Silver becomes gold
A website that fails to load for one month does not knock a firm off the map. A later clear "no" does.
Abogado Raymundobishoplegal.com · yes Jun/Jul/Aug, no data SepGold (one of 41 listings saved this way)
Accident Claim Consultantsaccseattle.com · Federal WayGold — whether it is really a law firm: unverified
Accelerated Tax Solutionsacceleratedtaxsolutions.com · SeattleGold — law firm or tax shop: unverified
Law Office of Tanya Fekrifekrilaw.com · never a clear yesNot gold — NO_DATA only
Puget Sound CollectionsNO_DATANot gold
EXPLANATION
What it does
004a has AI tag each firm's specialty (injury, family…). 004b writes the final row per listing into silver. Gold is a saved filter over silver: a listing is in gold when its most recent clear verdict is "yes". "No data" and "likely" months are skipped.
Goes in
Every month's verdicts for every listing.
Comes out
The gold list. Nothing writes to gold directly.
Counts
2,830 listings (2,286 websites) in gold today, Seattle area.
Problem solved
Silver holds everything, including the no's. Gold is the one list the map is allowed to trust.
Source: gold view definition (bq/schemas/gold.py); gold_cids count 1 Nov 2026.
DISPLAY NAMES — today
Turning Google's title into a firm name
"Goldberg Jones - Divorce For Men"→ Goldberg JonesSlogan after the dash removed — correct
"Seattle Personal Injury Lawyer | Premier Law Group"→ Premier Law GroupSearch phrase removed — correct
"Davis Law Group Car Accident and Personal Injury Lawyers - Bellingham Office"→ Davis Law GroupCorrect
"Protecting Civil Rights | Kallis Law"→ Protecting Civil RightsWrong — kept the slogan, lost the firm
"A. Alene Anderson Law Offices"→ Alene Anderson Law OfficesWrong — the leading initial was cut
"Kevin G. Byrd - Attorney & Counselor at Law"→ Law Offices of Kevin G. ByrdWrong — June AI table invented "Law Offices of"
"Amy Allison"Anderson Hunter Law, Everett → "Law Offices of Amy Allison"Wrong — invented firm for one lawyer's profile
"Seattle Injury Law of Everett - Washington's Best Car Accident Attorneys"searsinjurylaw.com → Seattle Injury Law of EverettWrong — this is a Sears Injury Law office
EXPLANATION
What it does
Two tools, applied in order. (1) A June AI table (firm_display_names, 2,426 names written once on 23 June 2026, never added to). (2) A text-rule cleaner (deterministic_normalize) that cuts ™, brackets, "| search phrase", "- slogan", "PLLC" and similar. The AI name is used only if the cleaner would leave the title unchanged.
Goes in
Google's listing title, which firms stuff with keywords.
Comes out
The name shown on the map.
Counts
199 gold listings have a title the June table has never seen (earlier count in the plan: 174). 138 gold titles contain "|" or " - ". 329 websites have 2+ listings; 169 of them show 2+ different names (plan said 168).
Problem
Neither tool knows which listings belong to the same firm, so one firm can show several names. Planned fix: #142 below.
Source: firm_display_names, gold_cids titles; cleaner run locally on the titles shown.
2ND SCAN — 008e
Grid scan: who ranks at each point on the map
Davis Law Group (Seattle)cid 9816999353531402464Gold · #1 at its best point, seen at 1,316 points
Ramos Immigration PLLCno website · cid 9117699786434606400Never checked — #1 at best, seen at 1,479 points, but the city scan threw it out (no website)
Family Law Facilitatorskingcounty.gov · #5 in KentGovernment — never checked
WA Dept of Labor and Industries – Bellevue Officelni.wa.gov · #7Government — never checked
US Bankruptcy Courtwawb.uscourts.gov · #22Court — never checked
Office of the Attorney Generalatg.wa.gov · #63 OlympiaGovernment — never checked
Thurston County Family & Juvenile Court · Everett – Snohomish County District Court#79 · #90Courts — never checked
Merry Maids of South King County#92House cleaning
EXPLANATION
What it does
Lays a net of points about 1.3 miles apart over the whole area and asks Google, at each point, 8 searches (divorce, personal injury, employment, estate planning, business, criminal defense, immigration, bankruptcy lawyer), recording the top 100.
Goes in
1,544 points × 8 searches. Cost $7.41.
Comes out
1,234,960 rank rows: which listing is #1, #2 … at each point. This is what the map colors.
Counts
3,519 distinct listings appear:
2,376 already gold
506 never checked, have a website
444 never checked, no website
112 checked and "no"
79 no data
25 ranked listings have government websites.
Problem
The grid finds hundreds of listings the city scan never saw. Until #134, the map drew them anyway — unchecked.
Source: 008e grid table, run c3a0e554_2026-09_3mon, compared against silver/gold.
008f · 008g — #134
Backfill: check what the grid found in progress
Ramos Immigration PLLCno website → 008g reads its Google profileTest: ATTORNEY_CONFIRMED
Kelly Arndt & Walker · McMullen & Ochs · Venable Law Groupwebsite → full 002a–004b checkTest: ATTORNEY_CONFIRMED
Washington Association of Criminal Defense Lawyerswacdl.orgTest: NON_ATTORNEY — an association
Kimberly Mackey American Family Insuranceamfam.comTest: NON_ATTORNEY — insurance agent
FIRST Legal Clinic · World Relief Western Washingtonnon-profitsTest: NON_ATTORNEY
CAIRN LAWno reviews, no websiteTest: UNCERTAIN — kept off the map
Falcon Tax (3 listings)taxhelpteam.net · in gold since JulyRe-checked because its category is "Tax …"
EXPLANATION
What it does
008f takes every grid listing that was never checked (or got "no data", or is a gold listing with a tax category) and puts it through the same checks as stages 002a–004b, under its own run name gridbf_atty_wa_seattle_20261031. Government filters are not applied here on purpose — the AI judges courts and agencies as "not a firm". 008g handles listings with no website: AI (Sonnet) reads the Google profile — name, category, address, reviews — and says yes only if it sees a private practice.
Goes in
656 listings (591 websites), seeded 1 Nov 2026 02:32 UTC.
Comes out
New verdicts in silver; yes's join gold automatically.
Status
20-listing test done: website path 9 yes / 7 no / 4 no data; profile path 19 yes / 1 uncertain; cost under $0.10. The first full run stopped (PC out of memory) part-way through the website check. As of 1 Nov 03:08 UTC no results for the full run are in the database and nothing was running on the VM. Next: rerun on the VM.
Problem solved
Real firms the city scan missed (no website, outside its 18 towns) get a fair check instead of being drawn unchecked.
Source: shared/grid_backfill.py, 008f/008g code, silver row counts, VM process list.
MAP BUILD — gold gate
Only gold listings get drawn
Real grid point 1021 (Bellevue), search "employment lawyer"
#1
HKM Employment Attorneys LLP
#2
Law Office of Mark S. Lee (rymap.org) — not gold
#3
Skidmore & Fomina
#4
Hosseini Law Office
#5
HKM Employment Attorneys
#6
Employer Solutions Law
#7
WA Dept of Labor and Industries – Bellevue Office — not gold
#8
Premier Law Group (Bellevue)
#9
Amity Legal Associates
After the gate the map shows #1, #3, #4, #5, #6, #8, #9. The gaps stay: a firm keeps the rank Google gave it, so #3 is not promoted to #2.
EXPLANATION
What it does
The map builder (_build_mapdom_cells.py) writes two files: the firm list and the per-point rankings. It skips every listing not in gold, and refuses to write anything if one slips through. A separate check (check_mapdom_gold.py) fails the build if named bad listings (Falcon Tax, Everett court, Thurston County court, Jackson Hewitt, any .gov) are present, or named good ones (Ramos Immigration, Davis Law Group Seattle and Bellingham) are missing.
Goes in
Grid rankings + gold.
Comes out
The map's data files.
Today's live map
Still the old, ungated September file: 3,943 firms, 1,119 not in gold, 22 with .gov sites. Running the check on it: FAIL, 7 of 13 checks. The gate is committed; the live map changes when the backfill finishes and the map is rebuilt.
Problem solved
Courts, agencies and tax shops can no longer appear just because Google ranked them.
Source: builder and check code; check run against https://tempmap1.toolforge.ai data file (byte-identical to local copy).
MAP PAGE — header
The name at the top of a firm's map
Carr Law Olympia #1carrlaw.com · 81 reviewsTwo "Carr Law" listings in Olympia — more reviews gets #1
Carr Law Olympia #2carrlaw.com · 14 reviewsSame name, same city
Sears Injury Law Tacomasearsinjurylaw.comSame name in other cities → city added
Seattle Injury Law of Everettsearsinjurylaw.com · 124 reviewsWrong — a Sears office, but its name differs, so it is treated as a separate firm
EXPLANATION
What it does
Groups listings with exactly the same display name. One listing alone: name only. Several: name + " City". Several in one city: " City #1", " #2" by review count.
Problem
Exact-name matching only works if names are already right. One differing word ("of Everett") splits a firm. Fixed by the rules below and #142.
Source: firmParts() in linked.html (#139–#141).
#142
Name ledger planned
WHAT IT WILL DO
Idea
A permanent, add-only ledger (name_ledger) with one row per (Google title, website): the firm name, which firm it belongs to, and whether it is an office or one lawyer's personal profile.
New title
When a title appears that the ledger has never seen, AI (Sonnet) decides once and the answer is written down forever.
Guard
check_names.py fails the build if any map listing has no ledger row or a firm shows two names.
Removes
The text-rule cleaner and the June table's guesses. Backfill cost estimate under $5.
The logic problems, one at a time
1. One website, several names — Sears
Today: three names on one website. After #142: one firm, one name.
2. One firm, two websites — Polaris and Carr
Carr detail: the Lakewood "Carr Law" listing (cid 18091948255906428848) shows haroldcarrattorney.com in the grid data but carrlaw.com in gold — Google changed its website between scans.
3. A slogan in the name — Goldberg Jones
Two listings at 1200 Westlake Ave N #700, Seattle, both on goldbergjones-wa.com:
"Goldberg Jones - Divorce For Men"234 reviews → cleaned to "Goldberg Jones"
"Goldberg & Jones Attorneys at Law PLLC"11 reviews → cleaned to "Goldberg & Jones Attorneys at Law"
Rule: one website, one firm. Each name appears once (a tie), so most reviews wins → "Goldberg Jones".
4. Individual lawyers' own listings — Beresford Booth
The June AI table even invented firms for them: "Amanda N. Gamble, Esq." became "Law Offices of Amanda Gamble". Same pattern elsewhere: "Amy Allison" (who works at Anderson Hunter Law in Everett, not Beresford Booth) became "Law Offices of Amy Allison".
Owner rule: personal lawyer listings are thrown away. #142 marks each as "practitioner" and drops it.
5. Government listings leaking onto the map
On the live map today: Employment Security Department (2 listings), Labor & Industries (2), Office of the Attorney General (2), Everett – Snohomish County District Court and others — 23 listings with government websites.
Fixed in code by the gold gate. Live once the map is rebuilt. Note: Falcon Tax is in gold (judged a firm Jul–Sep), so the gate alone won't remove it; the backfill re-checks it.
6. A real firm missing — Davis Law Group, Bellingham
Davis Law Group's Bellingham office (cid 2203112235072678874) appears in 0 of 10 city scans and only once in the grid (rank 99 at one edge point). It was never in silver, so it could never be gold. The backfill has now seeded it. Bellingham's latitude is approximate unverified; whether the scan area should grow north is an open owner decision.
7. "Same firm" means "exact same name"
The map header groups offices only when the names match letter for letter. So "Sears Injury Law" (4 offices) and "Seattle Injury Law of Everett" (same website) are counted as two firms, and the Everett office never gets "Sears Injury Law Everett". The fix is to group by website (rule 1), not by name.
The rules (owner, final — 31 Oct 2026)
One website = one firm. Group listings by website, never by brand.
The firm's name is the most common cleaned title among that website's offices; ties go to the office with the most reviews. searsinjurylaw.com → "Sears Injury Law" (4 vs 2). seattleinjurylaw.com → "Seattle Injury Law".
Two websites = two firms, even if run by the same people (Polaris, Carr). Confirmed.
One website hosting unrelated firms → AI (Sonnet) flags it for the owner to review. Never merged automatically.
Individual lawyers' own listings are thrown away. Only office listings appear.
Legal aid and public-sector lawyers stay off the map (courts, prosecutors, public defenders, agencies).
Keep Google's raw rank. Removing a listing leaves a gap; nobody is promoted.
Listings with no website get their own firm each and are judged from their Google profile (008g).
Sources and method
All counts: read-only BigQuery queries on amicus_pipeline (bronze, silver, silver_cids, gold_cids, firm_display_names, 002a/003c/008e/008g tables), 31 Oct – 1 Nov 2026 UTC.
Stage behavior read from pipeline step code (001a–004b, 008e, 008f, 008g, gold view), the map builder and check scripts, and plans #134 / #142.
Name examples produced by running the current cleaner on the real titles.
Live map check run against the September data file served at tempmap1.toolforge.ai.
unverified: which 001 filter dropped each of the 354 "other" listings; whether Accident Claim Consultants and Accelerated Tax Solutions are law firms; Bellingham latitude (approximate). Plan figures 174 and 168 differ slightly from today's measured 199 and 169.
No email addresses, keys or private data appear on this page. All listings are public Google Maps businesses.