Retro

PR #846 — IX-SIT67: update header

Ссылка: https://bitbucket.org/stevens_edu/stevens_main_nextjs/pull-requests/846 Jira (PR-задача): IX-SIT67 — update header Jira (parent / спека): https://cpcs.atlassian.net/browse/ICUS-220 Репозиторий: stevens_edu/stevens_main_nextjs

PR и коммиты (зафиксировано в разборе)

  • PR: #846 — единственный PR в этом репозитории, который напрямую закрывает IX-SIT67 update header и совпадает с примером из письма Alexis.
  • Коммиты (хеши из скринов Bitbucket на момент разбора; после squash 30.04 история на remote могла измениться): старт 7dd5f2b (22.04); пачка bcd15c3cd91a3c (23.04, ответ на Comment #2); 22d4df7, 8bb932a, 40041f9 (23.04). Полный таймлайн и контекст — .
  • Предыдущий header в проде — в другом PR (искать отдельно, если нужна линия «кто первый отклонился от спеки»).

Где лежала спецификация

  • Источник правды по материалам: тикет ICUS-220 — в нём приложены и документ (user stories v2), и дизайны (mockups v3), см. вложения и даты в таблице ниже; зеркало в этом репо — папка spec/.
  • Figma / Confluence: в текущем наборе артефактов репозитория основной пакет — Jira-вложения + файлы в spec/; отдельная ссылка «только Figma» или «только Confluence» как единственный источник не задокументирована. В ревью упоминались уточнения у designer Jay (overlay / alignment) — см. / .

Особый статус

Header прямо упомянут в письме Alexis Watson (29.04.2026) как пример проблемы:

"we're also noticing some deliverables (such as the header) that deviate considerably from spec and require revisiting"

Это значит, что разбор PR #846 — критический для встречи. От него зависит главный аргумент письма.

Спека и материалы (в spec/)

  • 📄Site_Header_User_Stories_v2.docx — User stories: 4 фичи (Sticky Desktop, Sticky Mobile, CTA buttons Desktop, CTA buttons Mobile) + HTML data attributes для аналитики.
  • mockups-v3/ — мокапы v3:
    • Site Header v03 Full.png — desktop full + sticky + mobile + search states
    • Site Header v03 Mobile.png — mobile collapsed
    • Site Header v03 Mobile Search.png — mobile с открытым поиском
    • Site Header v03 Sticky.png — sticky-варианты на десктопе
    • Site Header v03 Page.png — пример встраивания на странице
    • Site Header v03.pdf — то же в PDF

Метаданные вложений (Europe/Warsaw)

ФайлКогда добавленРазмер
mockups v3.zip2026-04-16, 12:16~2.9 MB
📄Site_Header_User_Stories_v2.docx2026-04-20, 14:24~21 KB

Именование файлов (справочно): суффикс v2 в user stories обычно означает, что у автора документа была хотя бы одна более ранняя версия; v3 у mockups — что было хотя бы две предыдущие итерации мокапов. Для нашего разбора это не опора: в ICUS-220 в работу попали только финальные вложения (даты в таблице выше); с клиентом и внутри команды логичнее ссылаться на даты и содержание этих файлов, а не на «длинную предысторию версий» из номера в имени.

По сравнению с PR #837 (где PDF был один заранее):

  • На ICUS-220 финальные материалы приложены 16.04 (mockups zip) и 20.04 (user stories docx); PR #846 открыт 22.04 — после этих дат, с теми вложениями, что уже на тикете.

Аргумент «спека ещё менялась в момент старта PR» для даты открытия #846 слабый (опираемся на даты вложений, не на v2/v3 в названии). Смягчает картину только линия предыдущего header в проде (другой PR / старые версии) — см. .

Ключевые требования спеки (User Stories v2)

Desktop

  • Sticky header (position:sticky или fixed) — не уезжает при скролле
  • 1280 / 1440 / 1920 px корректно
  • CTA buttons: Request Info, Visit Campus, Apply (именно в этом порядке)
  • Выделены визуально как кнопки (по мокапу — жёлтые)
  • WCAG AA contrast (≥4.5:1)
  • Кнопки видны и кликабельны и в default, и в sticky состоянии

Mobile

  • Sticky на 375 / 390 / 414 / 430 px
  • Не перекрывает поле ввода при открытой клавиатуре (тест на iOS Safari + Android Chrome)
  • CTA в header (или через hamburger)
  • Touch target ≥ 44×44 px (WCAG 2.5.5)

HTML Data Attributes (для аналитики)

  • На каждой CTA: data-cta (например, request-info / visit-campus / apply) + data-location="header"
  • Имена/значения согласованы dev + analytics + QA до реализации
  • Lowercase, hyphenated
  • Присутствуют в default и sticky, на desktop и mobile
  • Атрибуты доходят до analytics-слоя (GTM/GA4)

Структура папки

  • — скриншоты комментариев из PR
  • spec/ — спецификация (User Stories docx + mockups)
  • — расшифровка комментариев + наш разбор
  • — итоговая позиция

Статус

  • Спека и мокапы получены и сохранены
  • Разобраны требования спеки
  • PR открыт 2026-04-22 (после дат финальных вложений на ICUS-220)
  • Все 11 значимых комментариев расшифрованы
  • Сформирована позиция → см.
  • Найти предыдущий header PR (если для встречи нужна позиция по нему)

Финальный результат разбора

  • 11 значимых замечаний за 8 дней
  • 8 из 11 — наши self-QA промахи (визуальные расхождения, регрессии, не сверено с мокапом)
  • 3 из 11 — пробелы в спеке (sticky-1024+ / alignment magnifier-X / data-cta stability) → защитные аргументы для встречи
  • PR #846 = header, упомянутый в письме Alexis — главный артефакт того тезиса
  • Реактивность Ивана хорошая — фиксит в день/на следующий день. Проблема — слишком много долетает до ревьюера

Что критично проверить (нужны скрины комментариев)

  1. Sticky behavior — реализован ли вообще, корректно ли (особенно mobile + клавиатура)?
  2. CTA buttons — все три? в правильном порядке? стилизованы как в мокапе (жёлтые)?
  3. WCAG contrast / touch targets — проверены?
  4. HTML data attributes — есть ли data-cta и data-location? согласованы ли значения?
  5. Таймлайн — когда что коммитилось vs даты финальных вложений на ICUS-220?

Screenshots (25)

01_pr-opened-2026-04-22.png
02_michael_info-for-center-justified.png
03_ivan-resolved-5-commits.png
04_michael_menu-wraps-1024-1091px.png
05_michael_mobile-logo-spec.png
06_michael_mobile-logo-feature-branch.png
07_ivan-resolved-mobile-logo.png
08_michael_dark-mode-yellow-buttons-contrast.png
09a_michael_cta-duplication-comment.png
09b_michael_cta-duplication-screenshot.png
09c_ivan-3-commits.png
10_michael_sticky-clarification-with-spec-author.png
11_michael_3-sticky-issues-after-fix.png
12a_michael_search-4-issues-spec.png
12b_michael_search-4-issues-feature.png
13a_ivan_alignment-question.png
13b_michael-confused-ivan-clarifies.png
13c_alignment-issue-detail.png
14a_michael_jay-designer-alignment-clarification.png
14b_alignment-green-line-closeup.png
14c_ivan-fixed-aligned.png
15a_michael_data-cta-stability.png
15b_ivan_we-have-id.png
15c_ivan_confusing-name.png
15d_michael_use-sys-id-for-stability.png