[site-finder] EPIC 17: Контракт API результата + версионирование анализа #961

Closed
opened 2026-06-02 16:32:23 +00:00 by Light1YT · 1 comment
Owner

Часть #944 (Site Finder v2 / ТЗ ГенГеныч).

Статус: EXTEND · Приоритет: P1 · ТЗ §22

Scope

§22 контракт API для полного forecast/recommendation/ТЗ объекта + персист прогонов анализа (версионируемые, re-openable — сейчас last_analysis_date placeholder). Бэкап для истории/экспорта/чата/UI.

Зависимости: EPIC11
Уже есть (EXTEND): schemas/, parcels.py (analyze), новая analysis_runs

**Часть #944 (Site Finder v2 / ТЗ ГенГеныч).** Статус: **EXTEND** · Приоритет: **P1** · ТЗ §22 ## Scope §22 контракт API для полного forecast/recommendation/ТЗ объекта + персист прогонов анализа (версионируемые, re-openable — сейчас last_analysis_date placeholder). Бэкап для истории/экспорта/чата/UI. **Зависимости:** EPIC11 **Уже есть (EXTEND):** schemas/, parcels.py (analyze), новая analysis_runs
Light1YT added the
GG-форсайт
site-finder
labels 2026-06-02 16:32:23 +00:00
lekss361 added this to the Site Finder v2 — Foresight (GG-форсайт) milestone 2026-06-02 19:03:06 +00:00
Collaborator

EPIC 17 (API-контракт + версионирование прогонов) реализован и верифицирован в проде (qa-tester, 2026-06-13):

  • Таблица analysis_runs: 505 строк (schema_version 1.0=217, analyze-1.0=288), все status=complete, 47 distinct кадастров, свежесть max(created_at)=сегодня.
  • services/analysis_runs/repository.py: persist_analysis_run, latest_run_for, list_runs_for, get_run, latest_run_dates.
  • Эндпоинты: GET /parcels/{cad}/runs → 200 (newest-first), GET /parcels/runs/{id} → 200 (полный §22-блоб: exec_summary/future_market/market_now/meta/product_tz/scenarios/scoring/confidence), GET /parcels/runs/999999 → 404 (graceful).
  • last_analysis_date берётся из view, не placeholder.

Закрываю как реализованное в проде.

EPIC 17 (API-контракт + версионирование прогонов) реализован и **верифицирован в проде** (qa-tester, 2026-06-13): - Таблица `analysis_runs`: 505 строк (schema_version 1.0=217, analyze-1.0=288), все status=complete, 47 distinct кадастров, свежесть max(created_at)=сегодня. - `services/analysis_runs/repository.py`: persist_analysis_run, latest_run_for, list_runs_for, get_run, latest_run_dates. - Эндпоинты: `GET /parcels/{cad}/runs` → 200 (newest-first), `GET /parcels/runs/{id}` → 200 (полный §22-блоб: exec_summary/future_market/market_now/meta/product_tz/scenarios/scoring/confidence), `GET /parcels/runs/999999` → 404 (graceful). - `last_analysis_date` берётся из view, не placeholder. Закрываю как реализованное в проде.
Sign in to join this conversation.
No project
No assignees
2 participants
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#961
No description provided.