plibvi · «По любви» + «По душе» · сверка 19.09.2026, беклог добавлен 21.09

Роадмап против ветки main

Продуктовый роадмап с date.uxbrain.ru (понедельный гант на 16 недель, релизы Р0–Р3 по месяцам, спецификация скоупа из документа для CPO) сопоставлен с тем, что реально лежит в ветке main репозитория farmgameowner/plibvi. Только продуктовые возможности; техника упомянута там, где она сама является задачей ганта.

Неделя ганта
W12 из 16
14–20.09 · релиз в прод — конец W16, 18.10.2026
main
2894cd60
728 коммитов, последний 19.09.2026 (слияние PR #2)
Задач ганта
27 + 6 вех
ниже — план-факт по каждой
Итог
события впереди, деньги и iOS «По душе» — нет
подробно в вердикте

Две оговорки к чтению. Роадмап читался по копиям страниц от 25–27.08.2026: живые страницы закрыты basic auth, пароля в сессии нет. Даты в ганте зашиты в код страницы и вряд ли менялись, но если план с тех пор правили, сверку надо повторить. Второе: утром 19.09 в main влиты интеграционная ветка (сборщик Telegram-каналов, журнал ошибок приложений GlitchTip, правки DUSHA-45…54) и PR #2 с правками вёрстки «По душе» — отчёт обновлён по состоянию 2894cd60. Третье: созвон команды 17.09 (DUSHA-M-1 в трекере) учтён как источник статусов, которых в коде не видно: нагрузочные прогоны и ход iOS.

Что из этого следует

Идём быстрее плана

  • Бэкенд событий (план W5–9) закрыт к W7 и шире плана: RSVP с очередью и одобрением, чек-ин 200 м, отзывы, репутация, право L2.
  • Автоимпорт афиш (план W9–10, «cold-start») работает с W6: 28 источников (27 площадок и Telegram-каналы с 18.09), оператор, дедуп, гео-справочник.
  • Единая админка (план W13–15) живёт с W2, на два продукта — с W7, 30+ разделов.
  • SEO-посадочные (план W12–13) — с W7, плюс блог с ИИ-редактором.
  • Нативные «По любви»: гант в W14–16 планировал только план перехода, а Android и iOS уже сверстаны по Figma.

В графике

  • Android «По душе» (план W9–15): начат W8, с W12 круги тестировщика, APK у команды.
  • Каскад удаления аккаунта (план W11–13): сделан к W9, грейс 14 дней, тумбстоун телефона.
  • Нагрузочное (план W14–15): пакет k6 и регламент готовы с W11; по созвону 17.09 первые прогоны на копии прода идут — бэкенд падает на 3 000 одновременных пользователей, причина не найдена.
  • QA (найм W7–8, работа с W10): круги тестировщика идут с W12.

Отстаём или не начали

  • iOS «По душе» (план W9–15): кода нет ни в репозитории, ни на макмини, где собирают iOS. На созвоне 17.09 сборка названа идущей параллельно с iOS «По любви», но подтверждения в коде нет. Пункт Р3 «приложение «События» в App Store» сейчас невыполним.
  • Платные события: эскроу, сплит, выплаты ЮKassa, чеки ФНС (план W8–11) — нет кода, есть только рамка «не к реализации». Веха m4 (W11) формально не взята.
  • Связка «открыт для знакомств» → «4 из 20 подходят» → переход в анкету (план W12–14): не начата, в «По душе» есть только статичный баннер «Связать с дейтингом».
  • Дейтинг net-new «в бете» (веха m3, W12): каркасы модерации, GPS, голоса и скоринга сделаны ещё в W2–3, но SpeechKit, ЕСИА/ФССП и платные CV-провайдеры так и не подключены.
  • Пуши «По любви» на iPhone (Р0, июль): Flutter в репозитории не трогали с июня, во всех entitlements по-прежнему aps-environment=development.

Снято решением

  • Rust PoC (W2–4): в коде нет; зафиксировано решение «Python-база, Rust точечно и позже».
  • Отдельный identity/SSO-сервис: не строился. Единый аккаунт получен иначе — оба приложения ходят в один бэкенд и одни ручки OTP.
  • ТГ-боты верификации и алертов (§6.4 CPO-документа): нет; вместо них бот анонсов «По душе» и Grafana.

План-факт по ганту

Серая полоса — план из ганта, цветная — когда это появилось в main. Пунктир красным — задача без кода. Красная вертикаль — сегодня, конец W12.

Задача гантаплан → факт
W129.06
W206.07
W313.07
W420.07
W527.07
W603.08
W710.08
W817.08
W924.08
W1031.08
W1107.09
W1214.09
W1321.09
W1428.09
W1505.10
W1612.10
Фундамент
Дев-стенд, бэкенд в контуреa4/a5 · стенд dusha W3, стейдж cloud.ru W10
CI-гейтa6 · GitHub Actions и Gitea 26–27.08
Пуши iOS «По любви» (Р0)Flutter не менялся с импорта
Rust PoC — воротаr0 · снято решением
Единый аккаунт
Identity: единый user_idb1 · один бэкенд с первого дня, без SSO-сервиса
Контракты API (swagger)b2 · dating-tz 10.07, события 11.08
Дейтинг · net-new
AI-модерация фото и чатаc1 · правила и NSFW есть, платных провайдеров нет
GPS-пересеченияc2 · пинги, пересечения, экран — бета
Голосовой онбордингc3 · STT на устройстве, SpeechKit и LLM нет
Скоринг ЕСИА + ФССП + справкиc4 · заглушки провайдеров, справка НПД вручную
Бэкенд событий
Домен: события, RSVP, гео, чек-инd1 · thin 10.07 → полный слой 10.08
Парсинг афишd2 · 7 площадок 07.08 → 27 к сентябрю
Эскроу / сплит / выплаты ЮKassa + ФНСd3 · нет кода, рамка 16.08 «не к реализации»
Клиенты
Android «По душе»e2 · каркас 16.08, по Figma 06–13.09, тесты 15–18.09
iOS «По душе»e1 · кода нет ни в репозитории, ни на макмини
Лендинги событий (SEO)e3 · «город + тема» 11.08, блог 27–31.08
Дейтинг: план перехода на нативe4 · Android 10.07, iOS 30.07, по Figma в сентябре (iOS около 42 из 70 экранов к 17.09)
Интеграция и платформа
Флаг «открыт», «N из M», deep-link, met-IRLf1 · лента и приглашения есть, ядро связки нет
Ситуативы: каскад account.*, журналf2 · каскад удаления есть, журнала по §4 нет
Единая админкаf3 · SPA 10.07, два продукта 08.08
Качество и релиз
Нагрузочное, HPA, soakg1 · пакет k6 10.09, прогоны с 17.09: падение на 3 000 пользователей
Пентест + hardeningg2 · внутренние ревью были, пентеста нет; срок не подошёл
Ревью сторовg4 · TestFlight «По любви» 01.09; листингов нет
план ганта сделано раньше плана в графике частично / каркас без внешних сервисов сделано с опозданием кода нет

Вехи

ВехаПланФакт
m1 · Стенды развёрнуты, CI зелёныйконец W3 · 19.07Стенд dusha — W3 (веб «По любви» выкачен 13.07). CI — только W9 (26–27.08). с опозданием
m2 · SSO live, совместимость токеновконец W7 · 16.08Достигнуто по построению: «По душе» ходит в те же auth/otp, auth/otp/verify, что и «По любви»; токены не менялись, совместимость с приложениями из сторов доказана при накате форка 26.08. достигнуто иначе
m4 · Events-backend готов (API)конец W11 · 13.09Событийная поверхность готова с W7 (40 ручек с проверкой контракта 11.08, 65 путей к 13.09). Но веха зависит от d3 (деньги), а его нет. частично
m3 · Dating net-new в бетеконец W12 · 20.09Четыре фичи в коде и в Android с W2–3, но без SpeechKit, ЕСИА/ФССП и CV-провайдеров бета номинальная. частично
m5 · Интеграция events↔dating — демоконец W14 · 04.10Через две недели. Ядро f1 не начато. под угрозой
m6 · Релиз в продконец W16 · 18.10Без iOS «По душе» и платежей состав Р3 недостижим; реалистичный состав — Android «По душе» + «По любви» на копии прода cloud.ru, готовой к трафику с 14.09.

Есть и в роадмапе, и в коде

Дата — первый коммит в main, где возможность появилась. «Где» — путь в репозитории.

ВозможностьРоадмапВ коде сГде и в каком видеСтатус
Единый аккаунт: телефон + код на оба приложенияР1 · b1, m2Единый вход без повторных регистраций29.06 / 16.08Один бэкенд, продуктовый пользователь users.ExternalUser; Android «По душе» использует те же ручки OTP, что и дейтингсделано
Каталог офлайн-событий с автоимпортомР2 · d1, d2«Автоимпорт решает пустой каталог с первого дня»10.07 / 07.08events (27 моделей), сервис ingestion/: 28 источников (27 площадок и Telegram-каналы), склейка дублей, гео-справочник OSM, политика источника, четыре шлюза до ленты; на стенде с 07.08 около 1 600 событий, к 10.08 — 4 683раньше плана
Запись на событие (RSVP)Р2 · d1Мгновенно / по одобрению, waitlist, capacity10.08events/rsvp.py, EventParticipation: going / pending / waitlist, очередь поднимается сразу, отказ организатора окончателен; в Android «По душе» и в вебераньше плана
Чек-ин на местеР2 · d1Geo-fenced check-in10.08events/checkin.py: радиус 200 м + окно по времени; честно записано, что антифрода против подмены GPS нетраньше плана
Создание событий пользователями, уровни L1/L2CPO §2.1Создание L1/L2, серии10.08Мастер из двух шагов (authoring.py, EventDraft), серии сеансов, право L2 считается по пяти условиям (l2_gate.py), кабинет организатора в Android и вебераньше плана
Отзыв после события, репутация явкиCPO §2.1Post-event review, репутация10.08reviews.py, reputation.py: 0–100, +3 пришёл, −5 не пришёл, анонимные впечатления о людяхраньше плана
Чат события до встречиCPO §2.1Pre-event чат18.08FastAPI-чат, ручка /event-chats/{id}/messages, экран переписки в Android «По душе»сделано
Карта + список как главный экран, геопоискCPO §2.1PostGIS, карта/список10.08 / 16.08Районы и округа двумя уровнями (GeoArea), карта MapLibre в Android, Leaflet с кластерами в вебесделано
События в свайп-ленте дейтинга, «пошёл бы / не интересно»CPO §2.1, f1Смешанная лента10.07GET /feed: люди из общей колоды + события, реакция would_go усиливает подбор (event_match_boost, shared_event_interests на карточке)раньше плана
«Встречались вживую» как сигналР2 · f1 met-IRLОбщие события усиливают подбор10.08Взаимное «хочу продолжить» после события создаёт EventMatch — мост в дейтинг; поиск людей только среди пересечений на прошедших событияхчастично
«Вы пересекались» — GPS-пересеченияР1 · c2Бета в августе10.07geo: пинги, пересечения, чистка по сроку; экран Encounters в Android и вебе; BLE-радар исключён ещё в июнебета есть
AI-модерация фото и чатовР1 · c1Фейки, NSFW и скам ловятся до жалоб29.06 / 10.07Сервис верификации с NSFW-моделью (вендорский), политика фото и правила чата → флаги в очередь консоли. Платных CV/text-провайдеров неткаркас
Голосовой онбордингР1 · c3Бета в конце августа10.07voice: сессии, реплики, применение к анкете; в Android распознавание на устройстве и текстовый фолбэк. SpeechKit и LLM не подключены (нет ключей)каркас
Бейдж «подтверждён»: ЕСИА, ФССП, справкиР2 · c4Добровольная проверка через Госуслуги10.07 / 10.08scoring: провайдеры ЕСИА/ФССП как HTTP-заглушки, чип доверия на карточке, экран с согласием; справка о самозанятости (НПД) загружается и проверяется оператором. Реального ЕСИА нет — ждёт статуса ИСзаглушка
Единая модерация и поддержкаР3 · f3Один центр управления двумя продуктами10.07 / 08.08backend/admin-panel + adminpanel: три пространства (Платформа / По любви / По душе), 8 ролей, аудит чтений ПДн, очереди модерации, жалобы, тикеты, DSR, финансы, ingest, SEO; замечания владельца LYUBVI-3 закрыты 14.09раньше плана
Удаление и блокировка аккаунта каскадомCPO §3.3 · f2Soft-delete с окном отмены, purge, отзыв сессий27.08users/services/account_deletion.py: заявка, грейс 14 дней, тумбстоун телефона, каскады; экран «Удаление профиля» в Android 12.09раньше плана
Лендинги событий для SEOe3W12–1311.08web-events: посадочная «город + тема», публичные карточки без JWT, sitemap-логика витриныраньше плана
Android-клиент «По душе»Р3 · e2Kotlin / Compose, W9–1516.08android-events: 14 разделов экранов, вёрстка по 623 кадрам Figma, живой API; круги DUSHA-20…54 с 15.09; правки DUSHA-45…54 и семейный статус (DUSHA-51) в main с 18–19.09в графике
Нативные клиенты «По любви»e4, CPO §5.3В W14–16 — только план перехода10.07 / 30.07android, ios: полный core loop, ручные проходы по Figma Ф0–Ф5, iOS в TestFlight с 01.09, экраны по нодам 14–18.09 (по созвону 17.09 — около 42 из 70 экранов)далеко впереди
Дев-стенд, проект в контуре компании, CIР0 · a1–a6Июль13.07 / 04.08 / 27.08Стенд dusha.uxbrain.ru, монорепозиторий на GitHub 04.08, копия прода и стейдж на cloud.ru 24–31.08, CI и приёмка образов 26–27.08с опозданием, сделано
Готовность к ростуР3 · g1Нагрузочное, автомасштабирование27.08 / 10.09Мониторинг Prometheus + Loki на cloud.ru, пакет k6 с регламентом и предохранителями. Первые прогоны на копии прода — с 17.09: бэкенд падает на 3 000 одновременных пользователей, причина не найдена; HPA не доказанподготовлено

В роадмапе есть, в коде нет

ВозможностьГде обещаноЧто есть вместоВес для релиза
Платные события: билеты, онлайн-оплата, эскроу, выплаты организаторам, чеки ФНСР3 октябрь; гант d3 W8–11; CPO §2.1Только рамка kb/30-backend/81 от 16.08 со статусом «не к реализации» и пятью вопросами владельцу без ответа; создание платного события закрыто 409 l2_required; цена в мобильном мастере — текст. Внешний процесс KYC ЮKassa (a2, W1–4) в трекере не виденкритично метрика Р3 «GMV платных событий» недостижима к 18.10
iOS-клиент «По душе»Р3 «в App Store»; гант e1 W9–15 (Николай)Каталог ios/ — только «По любви» (конфигурации Dusha / Dushalove / Stage / Prod, bundle ru.polyubvi). Все iOS-коммиты 14–18.09 — экраны «По любви» по нодамкритично должен был стартовать 24.08
Статус «открыт для знакомств», «4 из 20 участников открыты и подходят», переход в анкету «По любви» в один тапР2 сентябрь; гант f1 W12–14; CPO §2.1Флага на identity нет, cross-API нет, диплинка из «По душе» в «По любви» нет. В профиле «По душе» — статичный баннер «Связать с дейтингом» из макета без действиявысокий веха m5 (демо, 04.10) через две недели
Пуши «По любви» на iPhone снова доходятР0 июль, «чиним первым делом»; CPO §7.1backend/po-lyubvi-flutter/ios/Runner/*.entitlements — во всех девяти aps-environment=development; Flutter не менялся с импорта 29.06. Если чинили в вендорском Jenkins вне репозитория, это нужно подтвердитьпроверить
Реальные проверки ЕСИА и ФССП для бейджаР2; гант c4 и внешний a3 (статус ИС, W1–6)Заглушки провайдеров. В коде также лежат типы проверок «судимости» и «соцсети», которые CPO-документ прямо исключилвнешний блокер
Голос через SpeechKit + LLMР1 бета; гант c3Каркас с распознаванием на устройстве, ключей нет с июлявнешний блокер
Платные CV/text-провайдеры модерацииР1; гант c1NSFW-модель и правила; «SLA очереди 4 ч» не подтверждёнвнешний блокер
Единый журнал внутренних событий по таксономии §4 (Kafka, correlation_id)Гант f2; CPO §3–4Аудит-лог операторов, продуктовая аналитика, очереди модерации. Сквозной трассы «событие → реакция → журнал» по correlation_id нетсредний
ТГ-бот верификации и ТГ-бот алертовCPO §6.4Бот анонсов «По душе» (другая задача), алерты в Grafanaнизкий
Rust PoC: WS fan-out + ONNX-матчингГант r0 W2–4Ни одного .rs; решение «Python-база, Rust точечно позже»снято
Пентест, ревью сторов, регистрация в РКН и согласия на биометриюГант g2, g4, g3 (W12–16)Срок не подошёл или процесс внешний. В коде есть DSR, согласия в экранах, режим ПДн для справок НПДещё не срок

В коде есть, в роадмапе нет

Продуктовые возможности, которых нет ни в ганте, ни в релизах по месяцам, ни в спецификации скоупа. Часть из них пришла из ТЗ дейтинга и брифа команды, часть — из макетов Figma. Не считаются возможности дейтинга, унаследованные от вендорского прода (подписки и IAP, рефералка, сообщества, «Открывашки», кружки, лимит лайков): CPO-документ переносит их «как есть», в нативных клиентах они пересобраны, но новыми не являются.

ВозможностьВ коде сГдеЗамечание
Полноценная веб-версия «По душе»11.08web-events (Nuxt SSR): лента, карта с кластерами, каталог, подборки, «Популярное», поиск, карточка события, профиль организатора, мастер создания, кабинет, отзыв, жалоба, «мои события»; на стенде и на копии продаРоадмап обещал только SEO-лендинги
Веб-клиент «По любви» /app/13.07backend/web-app (React), паритет с AndroidНе развивается с 11.08
SEO-редакция: блог, ИИ-помощник, подбор запросов из Вордстата, SEO-балл27.08seo, раздел «SEO» в консоли, витрина блога в web-events; ИИ — Claude Opus 5, облачный ВордстатРешения гриля 27.08; блокер — публичный домен к го-лайву
Редакторские подборки, сторис над лентой, «Популярное»08–12.08EventCollection, Story с обязательным сроком, ранг и прирост за суткиРучной ответ на «куда пойти с ребёнком», который нельзя вывести фильтром
Подписки на организатора и тему, «твоя неделя», лента уведомлений11.08CalendarSubscription, Notification, колокольчик в Android «По душе»Пуши событий по сценариям — в events/notifications.py
«Позвать своих» — приглашение компании 5+11.07CompanyInvite: до 20 получателей, лимит в сутки, дедуп, диплинк polubvi://events; Android и вебИз ТЗ дейтинга, не из роадмапа
Поиск людей только среди пересечений на прошедших событиях12.08events/people.pyРешение владельца 12.08: открытый поиск развернул бы приватность
Бот анонсов «По душе», короткий адрес podushe.pro, счётчик переходов в MAX12–16.08events/telegram_bot.py, раздел «Telegram-бот» в консоли, баннер для печатиМаркетинговый канал, не из плана
Операторский контур сборщиков07.08ingestion/ui + раздел «Сборщики» в консоли: прогоны, политики источников, словарь интересов без релиза, разбор дублей, отчёт по таксономииВ плане это «парсинг афиш» на две недели
Telegram-каналы как источник событий с проверкой оператором17.09ingestion/collectors/telegram, страница канала в консолив main с 18.09 28-й источник; выкачен на стенд dusha
Раздел «Ошибки приложений» и журнал падений обоих Android17.09Sentry SDK → GlitchTip, adminpanel/views/applogs.pyв main с 18.09 приёмник GlitchTip на cloud.ru ждёт DevOps
Экран скидок и QR-страница события в «По душе»18.08 / 11.09ProfileDiscountsNodeScreen, EventQrNodeScreen по макетуРучек API под скидки нет — экран на данных макета
Копия прода на cloud.ru с демо-данными и тестовым входом по списку номеров14.09migration/cloud-ru, засев с меткой и полным удалением, песочница оплатыИнфраструктура для ручных проходов и приёмки владельцем

Есть в беклоге, но нет в роадмапе

Три доски на 21.09.2026: трекер salam0nn (DUSHA — 58 карточек, LYUBVI — 51) и беклог сборщиков tazzz (35 карточек). Ниже только то, что меняет продукт или его состав; круги тестировщика (DUSHA-20…54, LYUBVI-21…51) и техдолг по ревью кода (DUSHA-7…10, 42, 44) не перечислены — это качество уже обещанного, а не новые возможности.

Что в беклогеКарточкиСтатусПочему это вне роадмапа
Перевёрстка обоих приложений по макетам FigmaDUSHA-4, LYUBVI-1, LYUBVI-39Android «По душе» и «По любви» на проверке; iOS «По любви» волны В0–В6 в беклоге, по созвону 17.09 около 42 из 70 экрановГант не знает про новый дизайн: он появился на «дизайн-неделе» из брифа 23.07 и съел W9–W12 у обоих нативов. Именно эта работа объясняет, почему e1 (iOS «По душе») не начат
Расширение источников афиш сверх «cold-start»DUSHA-2, DUSHA-3; tazzz SRC-TELEGRAM, SRC-EDTECH, SRC-RUNETID, SRC-PONOMINALU, SRC-TICKETSCLOUD, SRC-2DO2GOПять новых организаций у Егора в работе; Telegram в работе (код уже в main); пять площадок заблокированы — мёртвые сайты или анти-ботВ плане d2 — две недели на парсинг; беклог ведёт сбор как постоянный продуктовый поток с волнами 6–9
Качество каталога как продуктовая задачаDUSHA-57, DUSHA-59, DUSHA-60, DUSHA-55В беклоге: битые обложки all-events (70 % ссылок 404), превью обложек на сервере, организатор отсутствует у 2 763 событий из 2 764, районы на cloud.ru не проставленыРоадмап меряет «события в неделю», но не полноту карточки; без этих четырёх лента на проде выглядит хуже стенда
Песочница оплаты и контракт для нативных клиентов дейтингаLYUBVI-2 (готово), LYUBVI-13, 14, 16, 17Песочница платежей на стейдже, карточка подписки, диплинк рефералки, лимиты реакций сделаны 14.09; подписи вебхуков T-Bank и Apple на проверке; DEMO-терминал T-Bank в беклогеCPO-документ переносит IAP и подписки дейтинга «как есть», а на деле их пришлось довести до контракта и обложить тестами. Открытые вопросы карточки: домен для invite_link, раздел «Твои пары», настоящие ролики
Обучающие ролики в ленте «По любви»LYUBVI-10 (готово)Раздел «Рекламное видео» в консоли, ручка для клиентов, частота показаУнаследованная механика вендора, переосмысленная 14.09 как обучение новичка; в роадмапе её нет
Готовые ответы на «очень частые вопросы»LYUBVI-23На проверкеКонтент FAQ для дейтинга; роадмап про контент молчит
Подсказка в пустой ленте: «дозаполни анкету»LYUBVI-42Беклог, highПорог анкеты 54 % есть на сервере, а клиент молчит; продуктовое состояние, которого нет ни в макете, ни в плане
Гендерно нейтральные тексты, понятные подписи консолиLYUBVI-29, DUSHA-16, 17, 18, LYUBVI-44Беклог и проверкаТон и словарь продукта; в роадмапе только «единая админка» без требований к текстам
Переезд на прод cloud.ru как воронка карточекLYUBVI-11 и девять подзадач, DUSHA-56, DUSHA-62Эпик в работе: воркеры готовы, вебхуки на проверке, бэкапы, нагрузочный прогон и окно cutover в беклогеВ ганте это a1/a5 «в контуре заказчика» к W3 одной строкой; беклог показывает, что переезд ещё не закончен на W13

Обратная сторона. У самых тяжёлых пунктов роадмапа карточек нет ни на одной доске: iOS «По душе», платные события с ЮKassa и эскроу, связка «открыт для знакомств», ключи ЕСИА/ФССП/SpeechKit, пентест, регистрация в РКН, листинги сторов. Если трекер отражает намерения команды, эти задачи никто не взял. Из созвона 17.09 не попал в трекер и «список гэпов бэкенда», который ждут от Lord.

Чем рискует релиз 18.10 и что решать

Источники.