[needs-human][tradein][data] Temporal blocker linkage: источник ДКП заморожен на 2026-01-01 — решить, размораживать ли bulk Rosreestr ingest #724

Closed
opened 2026-05-30 13:39:23 +00:00 by bot-analyst · 2 comments
Collaborator

needs-human — требует стратегического решения (доступность данных Росреестра + scope перед демо), НЕ декомпозируется в actionable worker-issue без выбора человека. Источник: research-note inbox/2026-05-30-1654-main-session-temporal-linkage-root-cause-and-levers, live-БД 2026-05-30.

Уточнение root cause (новый факт поверх #721 ADR)

Вывод #721 («linkage=0 из-за отсутствия дом-уровневого ключа») верен, но неполон. Есть ВТОРОЙ независимый блокер — временной разрыв:

  • deals.deal_date: min 2024-01-15, max 2026-01-01 (источник заморожен).
  • listings.published_date: разброс фев–май 2026; listings.created_at (scrape): все май 2026.
  • Окно matching в street_sales_vs_listings() = ±180 дней (window_days), но deals обрываются на 2026-01-01, а listings начинаются с февраля 2026 → temporal overlap почти пустой.
  • Следствие: даже с идеальным гео-ключом linkage был бы низким — свежие listings не с чем матчить (нет свежих сделок). Это значит, что и post-demo street-level salvage (variant 2 ADR) будет иметь низкое покрытие, пока источник не разморожен.

Archeology (проверено чтением кода)

  • tradein-mvp/backend/app/services/dkp_import.py — инкрементальный импорт корректен: курсор _CURSOR_SQL = MAX(period_start_date) из deals, _IMPORT_SQL тянет src.period_start_date > :cursor_date из rosreestr_deals_fdw (WHERE region_code='66' AND doc_type='ДКП' AND realestate_type_code='002001003000'). Баги нет — импорт пуст, потому что в источнике нет строк после курсора.
  • Т.е. блокер НЕ в tradein-коде, а в FDW-источнике gendesign.rosreestr_deals: after_jan=0 (нет публикаций после 2026-01-01), это gendesign-сторона (scraper Росреестра), не tradein-mvp.

Решение, которое нужно от человека (≥2 толкования → нельзя ready)

  1. Доступны ли свежие данные Росреестра вообще? Росреестр публикует open-data с лагом (часто 3-6 мес). Возможно, фев–май 2026 ещё не опубликованы — тогда лечить нечего до публикации.
  2. Если доступны — реактивировать ли gendesign-side bulk Rosreestr ingest перед демо 2026-06-01 (2 дня)? Это отдельный scope в gendesign (не tradein-mvp), требует archeology gendesign-скрапера Росреестра и оценки объёма. Реалистично — post-demo / epic.
  3. Scope/owner: какой именно gendesign job наполняет rosreestr_deals и его расписание — не входит в tradein-mvp, нужен выбор кодовой области.

Не в скоупе / уже покрыто (НЕ заводить дубли)

  • Lever 2 (накопление listing_source_snapshots для point-in-time) — #570 (запущен 2026-05-30) + #667 (point-in-time backtest).
  • Lever 3 (DaData геокодинг listings, 42% дыра) — часть post-demo variant 2 (ADR decisions/Decision_Dkp_Listing_Linkage_Impossible).
  • Defensive flag (data_quality) — #721 (merged) / #722 (ready).
  • #168 (bulk cadastre ingest) — гео-сторона, отдельно.

Связано

  • ADR: decisions/Decision_Dkp_Listing_Linkage_Impossible.
  • Research: inbox/2026-05-30-1654-main-session-temporal-linkage-root-cause-and-levers, inbox/2026-05-30-1455-db-analysis-dkp-listing-linkage, audits/TradeinDb_Audit_May30.
  • Downstream: #652 (ДКП-коридор) и #722 (street-level метрика) — оба упираются в этот temporal-блокер для реального покрытия.
> **needs-human** — требует стратегического решения (доступность данных Росреестра + scope перед демо), НЕ декомпозируется в actionable worker-issue без выбора человека. Источник: research-note `inbox/2026-05-30-1654-main-session-temporal-linkage-root-cause-and-levers`, live-БД 2026-05-30. ## Уточнение root cause (новый факт поверх #721 ADR) Вывод #721 («linkage=0 из-за отсутствия дом-уровневого ключа») верен, но **неполон**. Есть ВТОРОЙ независимый блокер — **временной разрыв**: - `deals.deal_date`: min 2024-01-15, **max 2026-01-01** (источник заморожен). - `listings.published_date`: разброс фев–май 2026; `listings.created_at` (scrape): все май 2026. - Окно matching в `street_sales_vs_listings()` = ±180 дней (`window_days`), но deals обрываются на 2026-01-01, а listings начинаются с февраля 2026 → temporal overlap почти пустой. - **Следствие:** даже с идеальным гео-ключом linkage был бы низким — свежие listings не с чем матчить (нет свежих сделок). Это значит, что и post-demo street-level salvage (variant 2 ADR) будет иметь низкое покрытие, пока источник не разморожен. ## Archeology (проверено чтением кода) - `tradein-mvp/backend/app/services/dkp_import.py` — инкрементальный импорт корректен: курсор `_CURSOR_SQL` = `MAX(period_start_date)` из `deals`, `_IMPORT_SQL` тянет `src.period_start_date > :cursor_date` из `rosreestr_deals_fdw` (WHERE `region_code='66' AND doc_type='ДКП' AND realestate_type_code='002001003000'`). **Баги нет** — импорт пуст, потому что в источнике нет строк после курсора. - Т.е. блокер НЕ в tradein-коде, а в FDW-источнике `gendesign.rosreestr_deals`: `after_jan=0` (нет публикаций после 2026-01-01), это gendesign-сторона (scraper Росреестра), не tradein-mvp. ## Решение, которое нужно от человека (≥2 толкования → нельзя ready) 1. **Доступны ли свежие данные Росреестра вообще?** Росреестр публикует open-data с лагом (часто 3-6 мес). Возможно, фев–май 2026 ещё не опубликованы — тогда лечить нечего до публикации. 2. **Если доступны — реактивировать ли gendesign-side bulk Rosreestr ingest перед демо 2026-06-01 (2 дня)?** Это отдельный scope в `gendesign` (не tradein-mvp), требует archeology gendesign-скрапера Росреестра и оценки объёма. Реалистично — post-demo / epic. 3. **Scope/owner:** какой именно gendesign job наполняет `rosreestr_deals` и его расписание — не входит в tradein-mvp, нужен выбор кодовой области. ## Не в скоупе / уже покрыто (НЕ заводить дубли) - Lever 2 (накопление `listing_source_snapshots` для point-in-time) — #570 (запущен 2026-05-30) + #667 (point-in-time backtest). - Lever 3 (DaData геокодинг listings, 42% дыра) — часть post-demo variant 2 (ADR `decisions/Decision_Dkp_Listing_Linkage_Impossible`). - Defensive flag (data_quality) — #721 (merged) / #722 (ready). - #168 (bulk cadastre ingest) — гео-сторона, отдельно. ## Связано - ADR: `decisions/Decision_Dkp_Listing_Linkage_Impossible`. - Research: `inbox/2026-05-30-1654-main-session-temporal-linkage-root-cause-and-levers`, `inbox/2026-05-30-1455-db-analysis-dkp-listing-linkage`, `audits/TradeinDb_Audit_May30`. - Downstream: #652 (ДКП-коридор) и #722 (street-level метрика) — оба упираются в этот temporal-блокер для реального покрытия.
bot-analyst added the
data
needs-human
tradein
labels 2026-05-30 13:39:24 +00:00
Author
Collaborator

Парный рычаг наполнения к этому temporal-блокеру: #726 (avito SERP listing_date=None у 91.5% → восстановить извлечение даты). Работают только в паре: разморозка DKP (этот issue) + свежие даты объявлений (#726). См. числа: #721 (comment)

Парный рычаг наполнения к этому temporal-блокеру: **#726** (avito SERP listing_date=None у 91.5% → восстановить извлечение даты). Работают только в паре: разморозка DKP (этот issue) + свежие даты объявлений (#726). См. числа: https://git.gendsgn.ru/lekss361/gendesign/issues/721#issuecomment-4916
Author
Collaborator

Дубликат #727 (создан параллельным bot-analyst, тот же root cause — ДКП заморожен на 2026-01-01; #727 богаче: содержит upstream-провенанс rosreestr_deals как квартальный агрегат + investigate-first шаги). Оба needs-human. Закрываю в пользу #727. Race двух analyst-окон.

Дубликат #727 (создан параллельным bot-analyst, тот же root cause — ДКП заморожен на 2026-01-01; #727 богаче: содержит upstream-провенанс `rosreestr_deals` как квартальный агрегат + investigate-first шаги). Оба needs-human. Закрываю в пользу #727. Race двух analyst-окон.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lekss361/gendesign#724
No description provided.