👋 Игорь, коротко
Твой экспертный разбор принял. Вот что поменялось в плане:
✅
Оставил — быстрые победы с живыми данными в Cockpit; комбинированные дашборды; Search Intelligence как слой смыслов; opportunity score.Всё верно, это ценно
🛠
Поправил — FastAPI вместо Next.js API routes; этапность: архитектура → данные → кластеры → дашборды; разделил Direct (прямые заходы) и Яндекс.Директ (реклама).Сделал SSOT backend, не дублирую логику
🗑
Убрал — 8+5 подстраниц сразу (сначала data foundation); Wordstat из MVP; AI-автоматизацию до data quality; плоскую связь relatedOfferId.Заменено на правильную модель
🆕
Добавил — buyer stage как отдельную доменную сущность; placement surface как нормализованную сущность; opportunity score → opportunity_cards. Прошил в ДНК архитектуры
Итог: план стал строить не красивый UI-слой, а устойчивую архитектуру — данные → смыслы → решения. Когда всё заработает, добавим AI.
📋 Итоговый вердикт
Что берём, что правим, что откладываем — на основе экспертного разбора.
✅ БЕРЁМ КАК ЕСТЬ — Quick wins в Cockpit (живая сводка Метрики); оживление /analytics/traffic; комбинированные дашборды (Pipeline Health, JTBD→Traffic, Offer Scorecard); Search Intelligence как слой смыслов; opportunity score; операционные инсайты ЭКОЯР — в backlog.
🛠 БЕРЁМ, НО ПЕРЕПИСЫВАЕМ — Next.js API routes → FastAPI-first; relatedOfferId → нормализованная связка; Wordstat → deferred; 8+5 подстраниц → сначала 2-3 MVP-экрана; AI → в позднюю фазу.
🗑 НЕ СТРОИТЬ В MVP — Wordstat/прогнозы (нет доступа к API); AI-ассистент; 8 подстраниц Метрики сразу; плоские связи кампания→оффер; отдельный Search Intelligence page до semantic MVP.
Архитектурный принцип: Search Intelligence Layer — не отдельный модуль, а cross-domain связующий контур между источниками данных (Метрика/Директ) и бизнес-сущностями (JTBD/Offers/Campaigns). FastAPI — SSOT backend. Next.js — только UI/BFF-слой.
💜 Задачи для Агаты
Скорректированный план с учётом архитектурных правок.
Порядок действий
1. Repo gap analysis → docs/search-intelligence/01-repo-gap-analysis.md
2. Architecture DNA corrections → docs/search-intelligence/02-architecture-dna-corrections.md
3. Domain taxonomy → docs/search-intelligence/03-domain-taxonomy.md
4. Data model v2 → docs/search-intelligence/04-data-model-v2.md
5. Roadmap v2 → docs/search-intelligence/05-roadmap-v2.md
6. Implementation backlog → docs/search-intelligence/06-implementation-backlog.md
7. Open questions for architect → docs/search-intelligence/07-open-questions-for-architect.md
Проверки через Cursor
Можно ли переиспользовать research_clusters для поисковых кластеров?
Как встроить placement_surface поверх landing_variants/campaigns/traffic_sources?
Можно ли использовать opportunity_cards как action layer для search insights?
Архитектурные принципы (зафиксировать)
Search Intelligence Layer — cross-domain слой (не отдельный модуль)
Cluster-first — основная единица решения
FastAPI — SSOT backend (не дублировать в Next.js)
Buyer stage — отдельная доменная сущность
Placement surface — нормализованная сущность
Opportunity score → opportunity_cards
Direct traffic ≠ Yandex Direct ads (строгая таксономия)
Wordstat = deferred dependency