lazyflat/web
EiSiMo 83db8cd902 enrichment: size floor + LLM fallback for opaque CDN URLs
Two issues surfaced on HOWOGE and similar sites:

1. Tiny icons/1x1 tracking pixels leaked through (e.g. image #5, 1.8 KB).
   Added MIN_IMAGE_BYTES = 15_000 and MIN_IMAGE_DIMENSION = 400 px on the
   short side; files below either threshold are dropped before saving.
   Pillow already gives us the dims as part of the phash pass, so the
   check is free.

2. Listings whose image URLs are opaque CDN hashes
   (.../fileadmin/_processed_/2/3/xcsm_<hash>.webp.pagespeed.ic.<hash>.webp)
   caused the LLM URL picker to reject every candidate, yielding 0 images
   for legit flats. Fixes: (a) prompt now explicitly instructs Haiku to
   keep same-host /fileadmin/_processed_/ style URLs even when the filename
   is illegible, (b) if the model still returns an empty set we fall back
   to the unfiltered Playwright candidates, trusting the pre-filter instead
   of erasing the gallery.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-21 16:44:47 +02:00
..
static enrichment: Haiku flat details + image gallery on expand 2026-04-21 14:46:12 +02:00
templates enrichment: drop LLM for structured info, dedup images by sha + phash 2026-04-21 15:29:55 +02:00
app.py enrichment: drop LLM for structured info, dedup images by sha + phash 2026-04-21 15:29:55 +02:00
apply_client.py multi-user: users, per-user profiles/filters/notifications, tab UI, apply forensics 2026-04-21 10:52:41 +02:00
auth.py multi-user: users, per-user profiles/filters/notifications, tab UI, apply forensics 2026-04-21 10:52:41 +02:00
db.py wohnungen: drive list info from LLM JSON, tidy header 2026-04-21 14:57:11 +02:00
Dockerfile lazyflat: combined alert + apply behind authenticated web UI 2026-04-21 09:51:35 +02:00
enrichment.py enrichment: size floor + LLM fallback for opaque CDN URLs 2026-04-21 16:44:47 +02:00
llm.py enrichment: size floor + LLM fallback for opaque CDN URLs 2026-04-21 16:44:47 +02:00
matching.py multi-user: users, per-user profiles/filters/notifications, tab UI, apply forensics 2026-04-21 10:52:41 +02:00
notifications.py map debug + coord backfill, remove email channel, countdown label 2026-04-21 13:42:21 +02:00
requirements.txt enrichment: drop LLM for structured info, dedup images by sha + phash 2026-04-21 15:29:55 +02:00
retention.py multi-user: users, per-user profiles/filters/notifications, tab UI, apply forensics 2026-04-21 10:52:41 +02:00
settings.py enrichment: Haiku flat details + image gallery on expand 2026-04-21 14:46:12 +02:00