[object Object]

← back to Homesonspec

docs(collectors): update builder status — 5 live, TM egress-blocked, Meritage needs XHR trace

ac8dff84db1167409b57d7b1e88650a33a78d6ca · 2026-07-23 01:23:42 -0700 · Steve Abrams

Files touched

Diff

commit ac8dff84db1167409b57d7b1e88650a33a78d6ca
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Thu Jul 23 01:23:42 2026 -0700

    docs(collectors): update builder status — 5 live, TM egress-blocked, Meritage needs XHR trace
---
 collectors/BUILDERS.md | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/collectors/BUILDERS.md b/collectors/BUILDERS.md
index a3abed5..1d23a11 100644
--- a/collectors/BUILDERS.md
+++ b/collectors/BUILDERS.md
@@ -8,10 +8,12 @@ Each carries a per-community sales phone. Adapters are CA-scoped via an env var.
 | Lennar | lennar-site | ✅ built | per-community `__NEXT_DATA__` Apollo (LENNAR_STATE_FILTER) |
 | D.R. Horton | dr-horton-site | ✅ built+verified | per-community `var model = {…}` blob (DRHORTON_STATE) |
 | KB Home | kb-home-site | ✅ built+verified | ONE feed `/move-in-ready` → `var allMIRs=JSON.parse("…")` double-decode |
-| Pulte | pultegroup-site | ⬜ TODO | clean JSON API (has lat/lon!) |
-| Tri Pointe | tri-pointe-site | ⬜ TODO | Next.js RSC `__next_f` `"display_price"` objects |
-| Taylor Morrison | taylor-morrison-site | ⬜ TODO | Sitecore `data-fed-ref="fedmodel"` per /available-homes |
-| Meritage | meritage-homes-site | ⬜ TODO | Next.js `__NEXT_DATA__` per /state/ca/ page (has lat/lon!) |
+| Pulte | pultegroup-site | ✅ built+live | clean JSON API (has lat/lon!) |
+| Tri Pointe | tri-pointe-site | ✅ built+live | Next.js RSC `__next_f` `"display_price"` objects |
+| Taylor Morrison | taylor-morrison-site | ⚠️ built+verified, BLOCKED at egress | Sitecore fedmodel (scan 13 blocks for `availableHomesList`); adapter correct (3 recs/0 err on fixture) but Akamai bot-blocks the Kamatera datacenter IP (37KB html "404" challenge on /ca/sitemap.xml under load). Needs residential/allowlisted egress — NOT circumvented per standing rule. Source `active=false, health=DEGRADED`. |
+| Meritage | meritage-homes-site | ⛔ NEEDS BROWSER-TRACE RECON | Sitecore XM Cloud headless — inventory (QMIs) is NOT in server HTML (state/community/search pages all render empty shells; only plan ranges + community lat/lon in `__NEXT_DATA__`). QMI spec homes load via a runtime XHR (`community-qmi-filters` → XM Cloud edge API). NEXT STEP: capture the XHR endpoint+params via Playwright/Browserbase, then build a Pulte-style JSON-API adapter. Egress is CLEAN (200s) — only the endpoint is unknown. |
+
+**Live builder counts (2026-07-23):** Lennar 38,800+ (TX drain running) · D.R. Horton 513 (full CA) · PulteGroup 180 · KB Home 143 · Tri Pointe 98. **32 states, 7,464 TX homes** (TX-zero fixed).
 
 ## Pulte (pultegroup-site) — JSON API, CLEANEST (do next)
 - Communities: `GET https://www.pulte.com/api/community/getcommunities?brand=Pulte&state=California&pageSize=1000000&pageNumber=0`

← 2570ea0 fix(workers): declare taylor-morrison collector dep so pnpm  ·  back to Homesonspec  ·  fix(pulte): use real state code instead of hardcoded CA (ena 55372bc →