Assignment
Validate the 6,265-company Phoenix HVAC TAM produced on 2026-04-22 — is the count defensible, are the segments right, and what should the buy-side roll-up shortlist look like?
Roster
writerarchitecthunter
quarterbacklistenerdraper
market-analystaudit-qualitystoryteller
debrieftech-translator
All 11 called. No subset.
Final output — what the swarm concluded
The 6,265-company TAM is directionally correct but inflated by ~14% due to duplicate listings across Google Maps secondary categories (HVAC + Plumbing + Mechanical Contractor for the same business). Net defensible TAM: ~5,400 companies.
Segmentation should split residential-only (62%), commercial-capable (28%), and industrial (10%) — the original single-bucket view masked roll-up fit.
Recommended shortlist for buy-side roll-up: commercial-capable, $3M–$15M revenue, 10–50 techs, owner age 55+ — yields ~310 targets, all addressable with free-tier sourcing (LinkedIn + state license registry) before paid enrichment is needed.
Where the swarm disagreed
market-analyst + hunter (2 agents) — argue the residential bucket is also worth roll-up attention
- Residential HVAC has higher recurring service revenue per tech, raising EBITDA multiples paid by PE in 2025 cohorts. [research →]
- Three named PE platforms in 2025–26 prioritized residential density over commercial scale; majority view excludes this signal. [research →]
draper (1 agent) — flags the owner-age 55+ filter as ageist framing for outreach copy
- Replace "owner age 55+" with "owners signaling exit readiness" in any client-facing version — same filter, no liability. [research →]
Currency this run
| From | To | Action | Mult | Score |
|---|---|---|---|---|
| architect | hunter | Pre-flagged Google Maps duplicate-category bug before Hunter ran second pass | 3x | 15 |
| hunter | market-analyst | Restructured TAM CSV to include NAICS 2-digit + 6-digit so multiples could join | 3x | 15 |
| listener | quarterback | Surfaced unstated requirement: shortlist must be ready for cold outreach Monday | 3x | 20 |
| tech-translator | writer | Plain-Englished "addressable TAM net of duplicate-category leakage" → "real list size after we de-dupe" | 3x | 5 |
| draper | writer | Replaced age-bracket framing with exit-readiness framing across client copy | 3x | 15 |
| storyteller | swarm | Caught that the segment %s and the shortlist criteria didn't reconcile in v1; forced a refactor | 5x | 100 |
| quarterback | self | Sequenced Phase 2 cross-read in batches of 3 drafts to avoid agent overload | 1x | 5 |
Cross-agent ratio: 86% (target ≥60%) ✓ · Coverage: 9/11 agents both gave and received ✓ · Total events: 7 · No-zero rule: 2 agents (audit-quality, debrief) ended with zero — flag for next run.
Cross-system gaps surfaced
- hunter → architect: Google Maps secondary-category dedup is not in the canonical TAM pipeline. Recommended change: add a dedup step keyed on (lat,lng,phone) in the api-agent registry for any future Maps-sourced TAM.
- draper → writer: Age-bracket filters keep leaking into client copy. Recommended change: add an "ageist phrase" check to writer's brand_kit.json voice rules.
Evidence cited
- Mid-market HVAC multiples paid in 2025 — GF Data summary
- PE residential HVAC platforms 2025–26 — PitchBook excerpt
~/Desktop/Phoenix_HVAC_TAM__2026-04-22.csv(original 6,265-row TAM)~/.claude/skills/maxswarm/notebook/2026-04-29__001__phoenix-hvac-tam.md
For next time
Surprises
- 14% Maps-category duplicate rate was higher than expected.
- Residential vs commercial split moved the entire shortlist conclusion.
What we'd do differently
- Have hunter run dedup before Phase 1 drafts so market-analyst has clean numbers from the start.
- Pull audit-quality into the dissent block at Phase 4, not just the majority synthesis.
Phase 1 raw drafts (collapsed) — sample shows structure only
writer
[draft text...]
architect
[draft text...]
hunter
[draft text...]