Audit confirmed: DOM.RF /portal/table API returns price=null for 99.7% of flats (both price_rub and price_per_m2 are NULL). Root cause is API limitation — per-flat pricing lives in a separate catalog endpoint not yet scraped (BUG #22). Adds defensive fallback in _norm_flat(): when price_rub is present but pricePerSquareMeter is absent, derive price_per_m2 = round(price_rub / total_area, 2). Covers partial API responses from any future endpoint that omits the computed rate. Adds 107_backfill_price_per_m2.sql for historical rows (~849 affected). |
||
|---|---|---|
| .. | ||
| api | ||
| core | ||
| models | ||
| observability | ||
| schemas | ||
| scrapers | ||
| services | ||
| workers | ||
| __init__.py | ||
| main.py | ||