Общее правило (операционный контракт)
1. Один источник правды. Полный план кладём в репозиторий как docs/plans/react-ui-kit-migration.md (живая спека). Goal ссылается на этот файл и ставит цель: «выполнить план аккуратно — по фазам, с ревью, тестами и прод-деплоем за флагом». Меняется скоуп → сначала правим файл, он авторитетнее чата.
2. Малые обратимые шаги. Идём фаза за фазой. Каждый коммит самодостаточен, откатывается независимо, и приезжает red-spec-first (сначала падающий тест, потом фикс). Ветка на фазу, никогда прямо в main. Без Co-authored-by.
3. Обязательное Codex-ревью на КАЖДЫЙ коммит/MR. После коммита — сильная модель по диффу, read-only:
codex exec -m gpt-5.5 -c model_reasoning_effort=xhigh -s read-only + дифф + «проверь корректность, утечку IP, недостающие тесты, регрессии». Codex — блокирующий ревьюер: чиню CONFIRMED, взвешиваю PLAUSIBLE — до следующего коммита. Два независимых ревьюера: Codex на каждый коммит, человек на границах фаз.
4. Гейты перед мержем. pnpm guard + pnpm typecheck + пакетные тесты + зелёный red-spec фазы. «Готово» — только с доказательством.
5. IP-инвариант — проверяется каждым коммитом. Закрытый исходник/бандл react-ui-kit никогда не попадает в git (публичный origin). Grep дерева на каждом коммите; бандл живёт только в слое Dockerfile.internal + staging в run-cwd.
6. Дисциплина деплоя. Едем за env-флагом (сосуществуем со static-HTML). В прод — только в окне без активных ранов, через drain-gated путь, проверка в поде; на каждую фазу — один revert-MR.
7. Честность и стоп-на-разрыве. Отчёт — что реально прошло/упало, с доказательством. Ломается допущение фазы → стоп и переплан, не наслаиваем патчи.
8. Цикл пары (на коммит): Claude пишет → guard/typecheck/tests → коммит → Codex ревьюит дифф → Claude правит → чекпоинт человека в конце фазы → дальше. Goal не двигает фазу, пока Codex-ревью + гейты не зелёные.
Post #728
422
- ❤ 2
- 👍 2