Решили: горячий цикл живёт на dev — правки коммитятся туда напрямую, без фичевых веток, а билд
для теста собирается локально (steam-publish.ps1, ~3 минуты) и заливается в Steam оттуда же.
master выпадает из цикла: он остаётся витриной, куда вливаем перед показом. Проверки CI на dev
ОСТАЮТСЯ.
Почему: стадия сейчас — «нашли баг в коопе, починили, снова играем», и Макс просил убрать из неё всё лишнее. Разбор показал, что лишнее — не то, что кажется:
- CI на пуше не стоит ни минуты его времени. Он асинхронный: пушнул и работаешь дальше. Отмена проверок экономит ноль.
- Стоит времени маршрут:
dev→ PR →master→ тег → облачная сборка. Четверть часа на каждую итерацию, и это при тёплом кэше; вхолодную было четырнадцать минут только на плеер. - Локальная сборка — три минуты, потому что теневой проект уже прогрет и импортировать нечего.
То есть скорость берётся из смены маршрута, а не из отказа от проверки. Отказ дал бы только тишину, в которой «забыл закоммитить файл» всплывает не на прогоне, а у друга на второй машине посреди забега — 03.08.2026 таких файлов нашлось три.
Сказано: «Щас стадия “ААА, БАГ В МП, ЧИНИМ И БЫСТРО НА ДЕПЛОЙ”. И нам проверки тут вообще не к
месту. … Нашли баги, написали. поправили, сразу деплой в стим и сразу забег с друзьями.» (03.08.2026,
сессия 272cfad5). Согласились по master, разошлись по проверкам — и он принял довод.
Почему фичевых веток больше нет. Ветка изолирует параллельную работу. Параллельность есть — Макс
ведёт несколько чатов сразу, — но рабочее дерево одно на все сессии, и все они пишут в одну ветку.
Изоляции ветка не давала ни разу; feat/slice-feel-and-content прожила три недели и набрала 789
коммитов, то есть стала вторым main под другим именем. Ветку берём только под заход, который не
жалко бросить.
Грабли:
- Squash дважды за день схлопнул историю (PR #22 — 789 коммитов, PR #23 — релиз), и оба раза
чинилось одинаково:
commit-treeс двумя родителями и ТЕМ ЖЕ деревом. Файлы не меняются, восстанав- ливается только родство. - «Не забыть выбрать merge commit» не работает — проиграно с первого раза. Squash и rebase выключены в настройках репозитория: кнопка их больше не предлагает. Тот же приём, что с версией в теге — механика вместо памяти.
- Июльский squash аукнулся через две недели:
masterиdevперестали быть родственниками, и релизный PR открылся с конфликтом на 419 файлах, которых никто не трогал. - Локальная дорога была опасна утром и безопасна вечером. Она берёт файлы с диска, а там лежали чужие незакоммиченные правки; после разбора дерева этой причины нет.
Владелец правды: .cursor/rules/git-conventions.mdc, docs/steam-deploy-setup.md,
настройки репозитория (allow_squash_merge: false).