Real production state: **0/9302 (100%)** Avito listings имели NULL
listing_date. Audit показал regex matched только relative numeric
("5 дней назад") — Avito SERP сейчас использует:
- Keyword shortcuts «сегодня в 12:30», «вчера в 18:45», «позавчера», «только что»
- Absolute «18 мая», «5 июня в 12:30» (year inferred — current, или
rollback к прошлому году если month в будущем больше чем на 30d)
Changes:
- Expand _parse_relative_date():
* keyword check first (без \d+ regex match)
* relative numeric (existing) — без изменений
* absolute date regex с _RU_MONTHS dict + roll-back на prev year heuristic
Tests: 10/10 pass (4 existing + 6 new). Ruff clean.
Impact: 9302 Avito listings + new daily scrapes теперь будут иметь
listing_date. Это **прямо повысит linkage rate в /sales-vs-listings**
(PR K) с current ~5% до 30%+ (теоретически до 80% при listing_date
плотности).
Existing 9302 NULL — будут пересобраны при следующем full sweep после
deploy. Backfill detail page для each — отдельный operation скрипт
(out of scope, можно через docker exec ad-hoc).
Refs #564 (linkage rate improvement).