← back to Commercialrealestate
TK-10709: dedup across ALL sources, not just crexi
b048ea216aa46f8c4bf448e72b0e3782f65b2dbf · 2026-08-25 16:46:19 -0700 · Steve Abrams
Seed the seen-address set from every source in broker_direct_listing so a
crexi crawl never double-counts a property already listed under broker-site /
broker-site-oc (spec criterion #3). Caught + fixed 5 cross-source collisions.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Files touched
M scripts/scrape-crexi-loopnet.js
Diff
commit b048ea216aa46f8c4bf448e72b0e3782f65b2dbf
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Tue Aug 25 16:46:19 2026 -0700
TK-10709: dedup across ALL sources, not just crexi
Seed the seen-address set from every source in broker_direct_listing so a
crexi crawl never double-counts a property already listed under broker-site /
broker-site-oc (spec criterion #3). Caught + fixed 5 cross-source collisions.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
---
scripts/scrape-crexi-loopnet.js | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/scripts/scrape-crexi-loopnet.js b/scripts/scrape-crexi-loopnet.js
index 3f087b8..02e2ef6 100644
--- a/scripts/scrape-crexi-loopnet.js
+++ b/scripts/scrape-crexi-loopnet.js
@@ -205,9 +205,11 @@ async function resolveBroker(agent, firm, license, phone) {
const prog = loadProg();
const seenIds = new Set(prog.seenIds);
const seenAddrs = new Set(prog.seenAddrs);
- // seed seenAddrs from what's already in the DB so we never re-write across the whole history
+ // seed seenAddrs from EVERY source already in the DB (not just crexi) so one property never
+ // double-counts across sources (spec criterion #3: 0 duplicate addresses across broker-site /
+ // broker-site-oc / crexi / loopnet). First source to list an address wins.
try {
- const have = (await db.pool.query(`SELECT address FROM broker_direct_listing WHERE source='crexi'`)).rows;
+ const have = (await db.pool.query(`SELECT address FROM broker_direct_listing`)).rows;
for (const r of have) seenAddrs.add(nAddr(r.address));
} catch {}
← d7cdfed TK-10709: remove Crexi profile link-out from broker page + r
·
back to Commercialrealestate
·
auto-data-snapshot: 2026-08-25T17:03:18 (1 data files) — dat 66e131f →