"#DeksdenFlow - 6, Protocol, Этап Review and Merge ⚪️ Выполнение содержательной части нашего протокола закончено, агент реализовал все запланированные шаги, изменения закоммичены и лежат в worktree. ▶️ Далее наша задача - влить эти изменения в основную ветку main. Сложности тут могут быть стандартные: за время, пока отрабатывал протокол, вы могли внести другие изменения в ветку main, и синхронизация требует типового процесса merge. 🟢 Более того: вся эта свистопляска с git и была затеяна ради возможности параллельно вести много доработок! Пока выполняется реализация какого то протокола, вы можете стартовать с другими протоколами, и также параллельно их вести! Например, 1-2 протокола идут у вас в режиме ""продолжай работу по плану протокола!"", а вы третью доработку обсуждаете с агентом в режиме планирования. Это штатная возможность системы, даже её основная задача - обеспечивать параллельную доработку. ▶️ Для проведения merge мы берен новый контекст, берём промпт ""review and merge"", проставляем в нем номер протокола, и запускаем этим промптом в агента. ‼️ Важно: CWD этапа merge - это обычная папка вашего проекта, ничего менять не надо, берём стоковый контекст. Получив промпт, агент будет действовать: * загрузит файлы протокола, ознакомится с ними: - сделает файлы для лога этапа merge ▶️ Этап merge работает на верхнем уровне так: - шаг 1-m: сначала прогоняет ""облачные"" проверки, которые настроены в вашем ci/cd на github (те самые checks) - если их нет, то ок, этап пройден - шаг 2-m:потом прогоняем внимательно все локальные проверки - обязательно typecheck / lint - текущие тесты - сборку build проекта (это не делается после каждого шага, потому что частично реализованные доработки могут мешать сборке системы) - если что то не проходит, скажите агенту исправлять. - шаг 3-m: далее делаем ревью полноты: сверяем реализацию с планом - шаг 4-m: далее - делаем merge, при необходимости решая конфликты. - ‼️ архив протоколов может помочь агенту грамотно провести сложный merge - он прочитает последние протоколы, и поймёт какие исправления были внесены, как их корректно слить с нашими - шаг 5-m: финиш: чистим систему, удаляем рабочее дерево и ветки из git. ▶️ Как правило, мне хватало одного контекста чтобы провести merge. Допускаю, что при большом объёме правок в связи с решением merge-конфликтов может потребоваться новый контекст для продолжения работы - тогда есть промпт ""review-merge resume"" 🏁 Поздравляю! Если вы читаете это - вы закончили работу с протоколом, успешно влив изменения из рабочего дерева обратно в main"