Stevens IT — Development Workflow Issue
Сбор фактов и подготовка к обсуждению с Антоном и Иваном по поводу претензий со стороны Stevens IT к процессу разработки.
🚨 Обновление 30.04 19:37: Получено второе письмо — от Michael Forbes (Stevens IT), с конкретным примером squashing на PR #846 (произошёл ~2 часа до письма, то есть уже после письма Alexis 29.04). Адресовано Андрею; в копии Tom (iX), Anton, Vincent, Bemin. См.
claims/email-michael-2026-04-30.md.
Участники и роли
Расстановка: Stevens — клиент iCrossing (iX). Мы работаем с iX как подрядчики. Tom Napper — менеджер со стороны iX. Внутри нашей команды: Антон — тимлид, Иван — разработчик (коммитит, выполняет задачи), Андрей Голубец — менеджер.
- Stevens IT (клиент iX): Alexis Watson (автор письма), Vincent, Michael, +2 в копии
- iCrossing (iX, заказчик для нас): Tom Napper (менеджер)
- Наша команда (подрядчики iX):
- Антон — тимлид
- Иван — разработчик (его коммиты обсуждаются)
- Андрей Голубец — менеджер (получатель письма, контрактор iX)
Внутреннее обсуждение: Антон + Иван + Андрей. Цепочка эскалации: Stevens → iX (Tom) → мы (Андрей → Антон → Иван).
Ключевые претензии (из письма от 2026-04-29)
- Некоторые deliverables (например, header) сильно отклоняются от спецификации и требуют переделки.
- В PR #847 использовался commit squashing после того, как ветка была расшарена — это затрудняет ревью инкрементальных изменений.
- Просьба не делать rebase после того, как код расшарен — терять историю плохо.
- PR с post-deployment задачами должны всегда сопровождаться этими задачами.
- Предложение: дробить работу на меньшие батчи, делать internal validation pass до отправки на ревью, возможно использовать AI-tooling.
Структура
claims/— претензии Stevens IT (письма, скриншоты, расшифровки)evidence/— факты с нашей стороны (git log, blame, контекст коммитов)analysis/— сопоставление претензий и фактовmeeting/— повестка и вопросы для встречиoutcome/— решения и дальнейшие шаги
Разбираемые PR
- PR #837 — ICUS-216 Add FAQPageJsonLd for accordion — ✅ разобран. Merged 2026-03-24. 2 обоснованные претензии (Contentful env + конфигурация поля в нарушение спеки ICUS-214, которая была приложена к parent-тикету). Код "looks great", QA прошёл — но спека была у нас и не была выполнена.
- PR #842 — IX-SIT60 Add schema for youtube — ✅ разобран. OPEN 16+ дней, 4 обоснованные претензии (debug
console.log, отсутствие pre-merge tasks, невалидная VideoObject schema, ~700 unsynced entries). Главная иллюстрация письма Alexis — на этом PR сошлись 3 из 4 претензий из письма. - PR #832 — IX-SIT60 Add schema for pages — ✅ разобран. OPEN 2+ месяца, 9 замечаний, REQUESTED CHANGES. Концентрирует все 4 пункта письма Alexis. Alexis уже 23.02 (за 2 мес до письма) прямо спрашивал про pre-deployment steps — сигнал был и не отработан.
- PR #846 — IX-SIT67 update header — ✅ разобран. 🚨 Header — главный артефакт письма Alexis ("deviates from spec"). Открыт 22.04 (после стабилизации v2/v3 спеки). 11 замечаний за 8 дней: 8 наших self-QA промахов (logo, dropdown, регрессия, search-стилизация, дублирование CTA, dark mode), 3 — пробелы в спеке (sticky-1024+, alignment, data-cta stability). Реактивность Ивана хорошая, но слишком много долетает до ревьюера.
- PR #847 — hotfix FAQPage
@id— ✅ разобран. 🚨 Главная находка: commit-after-approve workflow violation (Иван закоммитил TODO "remove when approve PR" — намерение изменить код после approve). Архитектурно решение лучше shortcut Michael (aggregation +@id). Branch reuse — по предложению Michael. Git-история (squash) — на встречу с Иваном завтра.
Статус
- Получено первое письмо от Alexis Watson (2026-04-29)
- Разобран PR #837 (ICUS-216 FAQ — merged)
- Разобран PR #842 (IX-SIT60 YouTube schema)
- Разобран PR #832 (IX-SIT60 schema for pages)
- Разобран PR #846 (IX-SIT67 header — упомянут в письме)
- Разобран PR #847 (FAQPage hotfix — упомянут в письме)
- Cross-PR паттерны и сводка →
analysis/cross-pr-patterns.md - Финализированы вопросы Антону и Ивану —
meeting/questions-anton.md,questions-ivan.md - Финализирована agenda —
meeting/agenda.md - 🌟 БРИФИНГ ДЛЯ ВСТРЕЧИ →
meeting/briefing.md— единый документ со скринами + фактами + сводкой + планом (часть 1 с Антоном, часть 2 с Иваном). Открывать в Markdown preview. - Внутренняя встреча с Антоном и Иваном (завтра) — установить факты по squashing, проговорить процессные изменения
- (после встречи) Ответ Stevens через Tom — не раньше встречи