| name | roadmap-autopilot |
| description | Исполняемый плейбук автономных прогонов roadmap — механика порций, процедура defer/отката, гигиена коммитов, критерии hard stop. Принципы и активация — в .vibe/rules/roadmap-autopilot.mdc. |
| vibeVersion | 2.0.0 |
Roadmap Autopilot — процедура
Этот файл — механика автономного прогона. Цель, KPI, активация, границы автономии и запреты — в .vibe/rules/roadmap-autopilot.mdc; здесь они не повторяются и не переопределяются. Конфликт текстов → правило главнее.
Очередь
- Источник:
docs/roadmap.md, только строки - [ ] верхнего уровня (не вложенные подпункты), строго сверху вниз.
- Не перескакивать к более простым пунктам ниже по файлу вне очереди.
- Пригодный пункт =
- [ ], под которым в этом ответе ещё нет блока > **Autopilot (deferred):**. Defer'нутые в этом ответе пункты в следующие порции не входят (следующий запуск оператором может взять их снова).
Стратегия пункта: MVP
Минимально достаточная реализация для честного [x]: без полировки, без попутных рефакторингов между порциями, если они не нужны для закрытия пункта. Быстрый defer блокера ценнее одного «идеально» вылизанного пункта.
Допустимое сужение вместо defer: переформулировать ту же строку в безопасный срез + добавить ниже новый - [ ] на остаток; исходную закрывать [x] только если срез честно выполнен.
Автономные решения — логирование
Условия, при которых решение принимается без оператора, — чек-лист «Обратимо / Некритично / Заменяемо» в правиле. Механика фиксации:
- В момент решения — одна строка в текущем статусе:
🔀 Решение: [пункт] — выбран X (причина Y).
- Все решения прогона — продублировать списком в секции «Решения» финального отчёта.
- Решение, затронувшее структуру модуля, — одним предложением в сообщение коммита соответствующей порции.
Defer — процедура
Немедленный defer (без попытки)
Если пункту очевидно нужны: логины/пароли/OTP, платёжные ключи, доступ к аккаунтам или invite-only репозиториям, KMS/подпись релиза, одобрение третьей стороны — defer сразу, причина одной строкой, следующий пункт.
Короткое усилие (для остальных)
- Транзиентные ошибки (сеть, timeout, разовый сбой инструмента): до 2 retry другим способом или командой.
- One-shot по смыслу: одна связная попытка MVP. Упёрлось в неясность ТЗ (и чек-лист автономных решений не проходит), отсутствие зависимостей в среде, необходимость человека, «слишком широко без безопасного среза» — defer, не тратить остаток ответа.
- Анти-залипание: ≥ 2 подряд вызова инструментов с нулевым прогрессом к
[x] → немедленный defer. Нулевой прогресс — это: та же ошибка/тупик повторно, перечитывание тех же файлов без нового патча, зацикленный одинаковый grep, «ещё один шаг» без содержательного изменения файлов или git diff.
Действия при defer
-
Откатить локальные изменения этого пункта: git restore на затронутые файлы. Не оставлять полумёртвый diff. Закоммиченные успехи предыдущих порций не трогать.
-
Hunks перемешаны с успешным пунктом той же незакоммиченной порции и чистый откат невозможен → откатить всю незакоммиченную порцию; каждому пострадавшему - [ ] — свой defer-блок с причиной batch rollback: entangled diff; затем следующая порция.
-
Строка остаётся - [ ] (не [x]).
-
Сразу под строкой — один блок:
> **Autopilot (deferred):** краткая причина / вопрос к оператору (одна строка).
-
Пункт исключён из дальнейших порций этого ответа.
Пункт, который по факту уже сделан, не defer'ить — просто [x].
Цикл порции
- Собрать порцию: следующие до 3 пригодных
- [ ]. Осталось 1–2 — взять сколько есть, цикл продолжается.
- Каждый пункт порции по очереди: MVP или defer по процедуре выше. Defer одного пункта не прерывает обработку остальных пунктов этой же порции.
- Обновить
docs/roadmap.md: [x] сделанным, defer-блоки отложенным.
docs/knowledge.md — только при неочевидных открытиях, по .vibe/rules/knowledge.mdc.
- Коммит — только файлы этой порции (успешные пункты + roadmap/knowledge). Никогда
git add .; чужие изменения из git status не коммитить. Порция дала только defer'ы → всё равно закоммитить обновлённый docs/roadmap.md.
- Сразу после коммита — перечитать
docs/roadmap.md сверху и собрать следующую порцию. Без паузы, без промежуточных обзоров.
Статус между порциями — одна строка:
Порция N: ✅ A, B ⏸️ C (причина) — <commit hash>
Чек перед финальным отчётом
Выполнить реально, не формально:
- Осталась ли хоть одна пригодная
- [ ]? Да → следующая порция либо hard stop строго из списка ниже.
- После последнего коммита
docs/roadmap.md перечитан для следующей порции?
- Нет ли подряд defer'ов без содержательной попытки (кроме «немедленного defer»)?
- После первого defer в порции обработаны ли её оставшиеся пункты?
Только после прохождения всех четырёх — финальный отчёт по формату из правила (закрыто / deferred / решения / вопросы оператору).
Hard stop — критерии
Полная остановка, если хотя бы одно:
- Явная отмена автономии оператором в этом же потоке.
- Рабочее дерево/индекс нельзя безопасно продолжить без человека: массовые неразрешимые конфликты, битый merge state, невосстановимое состояние после честного
git status + попытки отката.
- После отката последней порции базовая проверка проекта (
npm run compile / сборка / тесты — что принято в репозитории) остаётся красной, и ошибка не сводится к одному отложенному пункту — сломана база.
Не hard stop: нет секретов/аккаунта → defer и дальше; красный compile из-за последнего пункта → откат пункта, defer, при зелёной базе — продолжить; разовый сбой MCP/инструмента → retry.
Сборка и компиляция
- Дистрибутив (
npm run package / vsce и т.п.) — только если оператор в этом сообщении явно написал «собери» (см. .vibe/rules/dev-engine.mdc и .vibe/rules/versioning.mdc).
- Проверочная компиляция/сборка после правок — минимально достаточная для уверенности в зелёной базе: точечная проверка затронутой части, полная — только если правки задевают общий каркас проекта.
CONTINUE_NEXT_MESSAGE
Только при объективной обрезке платформой (кончились токены/инструменты в этом ходе), не как замена работе. Последняя строка ответа:
CONTINUE_NEXT_MESSAGE
Следом — дословно следующие 3 пригодные строки - [ ] из docs/roadmap.md, которые агент собирался взять.