---
date: 2026-06-07
reviewed: false
---

- 13:00 [LAB] Decision: Shortlist page now shows all 59→42 shortlisted sorted by CP score (after null-bias fix)
- 13:15 [LAB] Enriched 9 Properstar stubs via JWT+API: 4 gated after real data → shortlist 63→59 (then 42 after rescore)
- 13:30 [LAB] Ran Leggett photo harvest on 26 email stubs → all updated to source=leggett with 14-19 photos
- 13:45 [LAB] Immonot photo harvest: no new photos but got land_size_m2 for several immonot properties
- 14:00 [LAB] Deliverable: created character_score_vision.py (GPT-4o-mini vision, architectural character 1-5)
- 14:10 [LAB] Fixed bug in character_score_vision.py: GPT returns ```json fences, not raw JSON — added re.sub strip
- 14:15 [LAB] Ran leggett_size_enrich.py on 26 shortlisted Leggett refs → 20/26 got land_size_m2
- 14:20 [LAB] Fixed import_favorites.py extract_fields: now sets land_size_m2 + building_size_m2 + all photo_urls
- 14:25 [LAB] Set availability_checked_at + land_size_m2 for 5 Properstar stubs (API-confirmed live data)
- 14:28 [LAB] Updated vetted gate: character_score OR criteria≥4 (supports current pipeline, not just legacy vision)
- 14:36 [LAB] Character scorer ran on 112 properties → 83→193 total with character_score
- 14:40 [LAB] Outcome: shortlist 59→42 (quality), vetted 12→20/42 (was 12/59); remaining blockers: land for 6 Leggett, photos for 3 immonot, photos for 7 idealista
- 14:40 [LAB] W24 backlog committed: browser extension (Properstar+Idealista), Paradiso business plan frame
