283e5612026-08-10chore: lint (URL/path guards, pg error handler, drop pw from log), refactor (const, pager bounds), v0.1.1 (session close)
a92114a2026-08-10Add searchable/sortable web viewer over 102k rentv_licensed_targets (server.js + grid UI, sort+density, PG-parameterized)
a27680f2026-08-06feat(scraper): ca_dre_pm — Property Management from DRE registry + local-model classify + DRE status verify
1b043a92026-08-06A2: CA DOI title-insurer scraper (CDI APEX) — resilient (insurers checkpointed before crash-prone UTC universe, UTCs isolated) — 18 real CA-licensed title insurers → CSV [TK-10310]
e44ad412026-08-06A2: AZ State Bar RE-attorney scraper (azbar member-directory API, RE+Maricopa) — runtime-fetch public token (no hardcoded secret), 35 real Active attorneys → CSV [TK-10310]
cd9b7e62026-08-06auto-data-snapshot: 2026-08-06T14:29:57 (1 data files) — data/az_state_bar.csv
60ac06c2026-07-31fix: CA DRE subdivider raw json.dumps; 459 CA developers loaded
9beee1a2026-07-31scraper: CA DRE subdivider -> CA developers
ba624d22026-07-30pipeline: DFPI escrow+CFL scraper (3532 rows) + attorney reuse-pull into realestate DB
Fleet inoculation — opening this basic-auth app with credentials in the URL
poisoned document.baseURI and made relative fetch('/api/…') throw. Guard resolves
non-absolute request URLs against location instead. Ref: creds-in-url-fetch-guard-fleet-pattern.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
a27680f · 2026-08-06 · feat(scraper): ca_dre_pm — Property Management from DRE registry + local-model classify + DRE status verify
CA property managers hold a DRE broker license, so mine usre.firm (214k) for PM-named firms
in served metros, classify segment via LOCAL Ollama (qwen2.5, $0), load commercial/mixed to
realestate.rentv_licensed_targets (role='Property Manager'). --verify fetches the REAL DRE
license status per firm (Cody must-fix: never claim 'Active' unverified) → 162 verified-Licensed,
dropped 1 expired + 5 unverified. $0 end to end.
File tree
18 files tracked. Click any to browse the source at HEAD.