Итог
Прошло (условно). Стенд stt-25-real живой и работает на новой единой ветке t-12345-consolidated@a9136ce, 4 экрана (desktop) + 4 (mobile) сняты, консоль чистая (только 401 /feedback/api/me от виджета multica). Приложенные Бэкендом логи e2e-accepted-run1.log и e2e-accepted-run2.log подтверждают два прогона pnpm e2e подряд — 22/22 зелёных, 21,5 с и 21,0 с, test.fail/skip/fixme = 0. Девопс приложил e2e-fixture-r2.json с валидной фикстурой на stt-61-fixture-r2 (с тех пор удалён Бэкендом по постановке).
С нюансом: на stt-25-real после пересборки БД реальных планов нет (1 черновик Шпенева пуст), поэтому B1 (preview «Дней: 16») не воспроизвёлся на момент проверки — увидеть, что фикс или наоборот регресс не было возможности, переношу в «Известные ограничения» с пометкой «не проверено визуально на новой ветке». Команда grep -rc "test.fail(" e2e/ на момент моего захода — Бэкенд не дал; доверяю его утверждению про test.fail/skip/fixme = 0 в e2e (зафиксировано в фикстурных логах).
Прогоны pnpm e2e (по логам Бэкенда)
Сам я в этой итерации фикстурный стенд не поднимал — фикстура на stt-61-fixture-r2 уже удалена Бэкендом после его прогона. Принимаю приложенные e2e-accepted-run1.log и e2e-accepted-run2.log (id в задаче: 01a10c15-1f14-78ee-8dcc-a8532eda6eed и 01a10c15-1f1f-7917-8ade-4fd883e54486) — оба на HEAD a9136ce ветки t-12345-consolidated, перед каждым pnpm e2e-fixture.
- Run 1: 22 / 22 passed, 21,5 с, exit 0 (desktop 1–11 + mobile 12–22).
- Run 2: 22 / 22 passed, 21,0 с, exit 0 (идентично, отличия только PID и тайминги ±200 мс).
- Красных цепочек, которые в раунде 1 были: 01 (approve), 02 (edit-after-submit), 04 (reissue-link — абсолютный
Location), 06 V1–V6 — все зелёные. test.fail() снят в 03-chain-manager-edits (по утверждению Бэкенда).
Состояние grep -rc "test.fail(" e2e/ на момент моего захода — 0 (по утверждению Бэкенда; собственный прогон не делал, фикстурный стенд удалён).
Сценарии Аналитика (каталог STT-56) на stt-25-real — round 2
Источник: вход руководителя РЦ разработки (sphere=152, центр «Центр фронтэнд разработки»). HEAD a9136ce, ветка t-12345-consolidated. БД пересобрана при follow-обновлении stt-25-real: реальных планов больше нет (Шпенев — пустой черновик 0/28, у остальных 27 — «Не начат»). Все ссылки «новая, не открывал», кроме Шпенева («открыл 05.10»). Это убирает ряд B-сценариев из проверки на «вживую» — для презентации нужно будет заполнить хотя бы один план на стенде (или поднять отдельный otpuska-demo — отметка в задаче осталась открытой).
Группа A. Вход и личные ссылки (ТЗ 5.5)
| ID | результат | как проверил |
| ★A1 | прошло | Вход по lead-ссылке руководителя — cookie vac_session HttpOnly, SameSite=Lax, Secure; 302 на /; токен в URL не виден (URL /lead/{token} после редиректа заменяется на /). |
| A2 | не проверял | Изолированная проверка по второму контексту — на показе это не нужно. |
| A3 | прошло | F5 после входа — сессия жива; stt-25-real ожидаемо отдаёт 401 на /api/me без cookie. |
| ★A6 | прошло | pnpm create-lead-link --dept 152 → https://stt-25-real.stand.yakutov.com/lead/rXjZRN1h06O3Y7ZFgNk0ds3vHSLCJM4iTiaFosGnIzo; по ссылке вход руководителем, видна навигация «Сводка РЦ», «Календарь РЦ», «Настройки центра». |
| A8 | прошло | У руководителя 4 вкладки навигации; у сотрудника только «Мой график» (по отчётам STT-60, STT-61 r1 — без изменений). |
Группа B. «Мой график» — ввод, V1–V6 (ТЗ 5.2)
Боевой план Шпенева в БД сейчас пуст (0/28). Боевой ввод не делаю — ломает «презентабельный» вид стенда. pnpm e2e на фикстурном стенде прошёл все V1–V6 (логи Бэкенда).
| ID | результат | как проверил |
| B1, B17, B19 | не проверял | На «Моём графике» Шпенева — пустой черновик «0 из 28», кнопка «Отправить» disabled (как и должно быть для пустого плана — V1 блокирует submit). |
| ★B11, B12, B13, B14 | не проверял | Части ввести не могу — на боевом стенде реальных людей. |
| ★B21 (mobile) | прошло | Один месяц на экран, стрелки ‹ ›; легенда 7 чипов на десктопе, 4 на мобиле. Скриншот stt61-r2-06-my-graph-mobile-390.png. |
Группа C. «Сводка РЦ» (ТЗ 5.3)
| ID | результат | как проверил |
| ★C1, C2, C3 | прошло | Заголовок «Центр фронтэнд разработки · 2027», подзаголовок «Сбор открыт до 1 января · осталось 88 дн.»; 5 карточек-фильтров 28/0/0/1/27; чипы статусов «Не начат / Черновик». Скриншот stt61-r2-02-center-summary-1440.png. |
| ★C4, C5, C6 | прошло | Колонка «Проверка» — «Ок» у всех 27 «Не начат»; у Шпенева — красное «Ни одна часть не достигает 14 дней отпуска (самая длинная — 0)». Колонка «Ссылка» — у Шпенева «открыл 05.10», у остальных «новая, не открывал». Колонка «Дней» — формат «N / 28». |
| ★C7, C8, C9, C10, C11, C12 | не проверял | Не нажимаю — боевые данные Лоции, ломает сессии сотрудников. |
| C13, C15 | R1/R2 | Возврат с комментарием из UI (R2) — кнопки в сводке нет; правка руководителем за сотрудника (R1) — за рамками. pnpm e2e прошёл обе цепочки (E2E-1, E2E-3) после правок Бэкенда — значит API фикс покрыт. |
Группа D. «Календарь РЦ» — Гант (ТЗ 5.3)
| ID | результат | как проверил |
| ★D1 | прошло | Гант: 28 строк, у всех «не начал». Легенда в одну строку над месяцами (фикс STT-78 e92685a — сохранён). Скриншот stt61-r2-03-center-calendar-1440.png. |
| D3 | прошло | «Максимум одновременно 0 из 28» (планов нет — корректно); «Дней с пересечениями 0»; «Самый загруженный месяц Январь» (при пустых данных — спорный default, см. баг #2); «Ещё не запланировали 28 Амосов» (28, потому что Шпенев тоже «не начат» — пуст). |
| D4 | не проверял | Гистограмма пуста (планов нет). На e2e цепочка 5 проверялась с заполненными данными — зелёная. |
| D5 | прошло | «Пересечений нет в выбранном периоде» — карточка зелёная. |
Группа E. «Настройки центра» (ТЗ 5.1, 5.3)
| ID | результат | как проверил |
| ★E1, E2, E3 | прошло | «Сбор открыт», дедлайн 01/01/2027; «Состав центра» 28/0, чип «из Сферы» с выровненной иконкой (фикс STT-78 e8ed97b — сохранён), «Обновлено: 05.10.2026, 12:44:44». Скриншот stt61-r2-04-center-settings-1440.png. |
| ★E5 | прошло | Производственный календарь 2027: «247 рабочих дней»; Праздники · 14; Переносы · 6; Рабочие дни · 1 (20.02). |
| ★E4 | не проверял | «Обновить сейчас» не нажимаю — БД уже свежая. |
Группа F. «Выгрузка» (ТЗ 5.4)
| ID | результат | как проверил |
| ★F1, F2, F6 | прошло | Диалог «Выгрузка графика отпусков» открывается, без флага — «Нет данных для выгрузки» (сообщение изменилось с r1; теперь это общее пустое состояние вместо отдельных для «нет согласованных» / «нет ничего»). Скриншот stt61-r2-05-center-export-1440.png. |
| F3, F5 | не проверял | Нет draft'ов, чтобы включить в выгрузку — preview пуст, xlsx не скачать. B1 (preview «Дней: 16») на этой ветке визуально не воспроизвёлся — нужно заполнить черновик. pnpm e2e цепочка 5 (overlaps-xlsx) зелёная — сама механика работает. |
| ★F4 | не проверял | Файл не скачивал — нечего выгружать. |
Группа G. Синхронизация со Сферой — стенд stt-25-real (ТЗ 5.1, 5.5)
Косвенные проверки (по данным STT-60 r1 + поведение r2): sync-sphere прошёл при старте стенда — РЦ=55 (1 корневая ЛОЦИЯ + 54 РЦ), сотрудников=662 active, реальные люди Лоции. Графики реальных сотрудников — пустые (по решению эпика STT-55, ожидает ответа владельца). G1–G9 в основном pass на уровне инфраструктуры; живьём проверял только G6 (РЦ=28 ≠ 0, в сводке Шпенев виден).
Группа H. CLI владельца
| ID | результат | как проверил |
| H1 | прошло | pnpm create-lead-link --dept 152 выдаёт /lead/{token}; токен стабилен между вызовами (фикс STT-78 50cecd4). |
Группа K. Устройства и краевые состояния (ТЗ 6)
| ID | результат | как проверил |
| K3, K4 | прошло | 28 сотрудников, длинные ФИО («Кузнецова-Шмидт Александра-Виктория Францевна») переносятся; в Ганте ellipsys. |
| ★K6 (1440×900) | прошло | 4 экрана — нет горизонтального скролла. |
| ★K7 (390×844) | прошло | 4 экрана — нет горизонтального скролла, шапка в две строки, «Мой график» одноколоночный. pageerror / unhandledrejection — нет; консоль только 401 /feedback/api/me (виджет multica). Скриншоты stt61-r2-06..09-*-mobile-390.png. |
Сценарий презентации — репетиция r2
Стенд: stt-25-real (round 2, a9136ce), вход руководителя РЦ разработки по lead-ссылке (sphere=152, центр «Центр фронтэнд разработки», 28 сотрудников, реальные люди Лоции). Планов в БД нет — репетиция без живого ввода, только проверка, что стенд не падает на шагах 3/11/12 (где нужны данные). На показе нужно будет заполнить хотя бы один план до шага 3 — или поднять отдельный otpuska-demo (открытый вопрос в эпике STT-55, не решён).
Шаг 1–2 — вход руководителя: lead-ссылка → cookie → редирект на «Мой график». Шпенев И.А. вошёл, у него пустой план 0/28, V1/V2 плашки (черновик пуст — submit заблокирован).
Шаг 3 — «Сводка РЦ»: 28 сотрудников, карточки 0/0/1/27 (Согласовано / Ждут / Требуют внимания / Не начали); Шпенев — «Требуют внимания» (V1+V2, пустые части). На показе здесь должны быть согласованные планы — сейчас в БД пусто.
Шаг 11 — «Календарь РЦ»: год, метрики «Максимум 0 из 28 / Дней с пересечениями 0». Легенда в одну строку над месяцами (фикс STT-78 сохранён). На показе с заполненными планами должны быть полосы и пересечения.
Шаг 12 — «Выгрузка»: диалог открывается, без флага — «Нет данных для выгрузки» (новое общее пустое состояние, заменившее r1 «Нет согласованных планов»). На показе с заполненными планами должны быть строки preview.
«Выгрузка» с включённым флагом «и несогласованных» — без изменений (0 сотр. · 0 строк, preview пуст).
«Настройки центра»: «Сбор открыт», дедлайн 01/01/2027; «Состав центра» 28/0, чип «из Сферы» с выровненной иконкой; «Обновлено: 05.10.2026, 12:44:44».
Мобильный (390×844) — «Мой график» руководителя: один месяц, стрелки ‹ ›, легенда 4 чипа, нет гор. скролла.
Мобильный (390×844) — «Сводка РЦ».
Мобильный (390×844) — «Календарь РЦ».
Мобильный (390×844) — «Настройки центра».