Stevens / Ivan Issue Report

Вопросы Ивану (разработчик)

На встрече попросить Ивана открыть Bitbucket UI и/или локальный git — часть вопросов требует посмотреть git log/reflog вместе.


🔥 ПРИОРИТЕТ 1 — PR #847, commit-after-approve

Это самая серьёзная находка. Иван закоммитил TODO "remove and uncomment const questions when approve PR" — то есть планировал изменить код после approve.

  1. Что ты имел в виду этим TODO? Ты действительно собирался поменять код после approval?
  2. Понимаешь ли, что approve привязан к конкретному коммиту? Если код меняется после approve — нужен повторный re-review.
  3. Если задача требовала "временной" версии — почему не открыл draft PR вместо Open?
  4. Договоримся: никаких "TODO when approve" в коде, никаких изменений после approve без явного re-request.

🔥 ПРИОРИТЕТ 2 — PR #847, git-история (squashing)

Открываем Bitbucket / локальный git вместе:

  1. Branch ICUS-216-faq — после merge PR #837 (24.03) она сохранилась? Или удалена и пересоздана?
  2. PR #837 при merge — был squash-merge через UI?
  3. Между 24.03 и 24.04 — делал git push --force в эту ветку?
  4. Перед открытием PR #847 — делал локальный rebase / squash / amend, который потом запушил?
  5. Покажи git reflog ICUS-216-faq (если возможно).
  6. Знал ли правило: после первого push ветки на remote — никаких rebase / force-push / squash локально?

ПРИОРИТЕТ 3 — PR #846 (header), self-QA

  1. PR #846 Comment #4 — text-only logo в expanded mobile menu не реализован, хотя в мокапе v3 это явно. Открывал expanded mobile menu и сравнивал с мокапом до открытия PR?
  2. PR #846 Comment #3 — меню в 2 строки на 1024–1091px. Какие breakpoint'ы тестируешь? RWD-режим в DevTools используешь?
  3. PR #846 Comment #5 — dark mode WCAG-контраст. Используешь Lighthouse / axe DevTools / contrast check перед открытием PR?
  4. PR #846 Comment #9 — 4 search-issues (font, иконка, бордер, L-shape) одного блока. Сравнивал side-by-side с мокапом?
  5. PR #846 Comment #2 — "Info For" dropdown центрирован, но в спеке нет. Откуда взялось это центрирование?
  6. PR #846 Comment #10 (alignment) — формулировка вопроса была неясной, Michael не понял. Готов ли ты, чтобы менеджер/тимлид перечитывал существенные комментарии перед публикацией?

ПРИОРИТЕТ 4 — PR #837 (FAQ), спека и Contentful

  1. Спека ICUS-214 (PDF "User Stories for FAQ Schema") была приложена к Jira 11.03 в 16:34 Андреем — за 2 дня до открытия PR #837 (13.03). Открывал ли её перед стартом?
  • Если да — почему отступил от 5 acceptance criteria (поле Accordion Purpose, Single select Standard Content/FAQ, help text)?
  • Если нет — почему не открывал parent-тикет?
  1. Comment #1 PR #837 (Bemin): изменение content model в master Contentful вместо develop. Понимаешь ли разницу между Contentful environments (master / develop / staging)?
  2. Что имел в виду в ответе "fields were removed from the staging environment" — это master или отдельный staging?

ПРИОРИТЕТ 5 — PR #842 (YouTube), процесс и спека

  1. PR #842 Comment #1 — console.log('Parsed video ID:', videoId) в коде. Используешь ли pre-commit hooks / lint правила, которые ловят debug-код?

  2. PR #842 Comment #2 — pre-merge tasks отсутствовали в description, у Michael сломался build. Знал ли ты, что Stevens CMS Tools нужно деплоить отдельным PR + Contentful merge develop→master?

  3. PR #842 Comment #3 — VideoObject без uploadDate. Сверял ли реализацию schema со schema.org spec до коммита?

  4. PR #842 Comment #6 — ~700 unsynced entries. Думал ли ты про существующие данные на этапе кодинга, или это вылезло после вопроса Michael?

  5. Спека ICUS-211/212 говорит: trigger предпочтительно on Publish, fallback — on URL change. Почему выбрал URL change?

  6. Поле youtubeUploadDate должно быть disabled для ручного редактирования (требование спеки). Реализовал?

  7. YouTube API key — где он хранится в коде? Не закоммичен в git?


ПРИОРИТЕТ 6 — PR #832 (schema for pages)

  1. Spec docs (упомянут Bemin в Comment #1) — где лежит документ примеров schema templates? Открывал?
  2. Comment #2 — Alexis 23.02 прямо спросил: "Are there any additional steps we need to take prior to deployment?". Ты ответил "no additional steps". Кто это проверял?
  3. Comment #4 — VideoJsonLd без uploadDate (повтор того же бага PR #842). Почему не закрепился урок между PR?
  4. Comment #6 — "url":"undefined/profile/fkim" на проде/preview. Тестировал ли реальные страницы перед открытием PR?
  5. Comment #7-9 — hardcoded /news/, hardcoded creditText в 2 местах. Знал ли про getExternalPath и Image Wrapper.credit? Делаешь ли grep по проекту перед написанием схожего кода?

ПРИОРИТЕТ 7 — общие вопросы по процессу

  1. Какой у тебя личный self-check перед "Open PR"? Опиши шаги.
  2. Используешь ли AI-инструменты (Copilot, Cursor, Codex)?
  3. Размер PR (PR #832 — 2 месяца, 27 коммитов) — хотел бы делить на меньшие? Что мешает?
  4. Английский в комментариях ревью — нужна ли помощь с формулировками?
  5. Ретроспектива замечаний — после каждого PR разбираешь повторяющиеся ошибки?

ПРИОРИТЕТ 8 — что предлагаем менять (твой вход)

  1. Готов ли ты к обязательному self-QA checklist перед каждым "Open PR" (mockup overlay, RWD ползунок, dark mode, env-vars grep, spec sweep)?
  2. Согласен с обязательной структурой PR description (Summary, Changes, Pre-merge tasks, Migration plan, Validation done)?
  3. Согласен с правилом "no rebase after share" + "no commit-after-approve" + "если не готов — Draft PR"?
  4. Хочешь ли ты, чтобы Антон/Андрей делал internal validation pass перед отправкой PR на Stevens? Или это излишне?

ПРИОРИТЕТ 9 — что тебе не хватает

  1. Что мешает работать качественнее? (Нечёткие задачи / спека с пробелами / нагрузка / отсутствие mockup access / др.)
  2. Что бы ты сам предложил поменять в процессе?
  3. Какой обратной связи тебе не хватает от Антона / Андрея?