Create docs/operations/FAQ_STOP.md — a user-facing "вопрос → ответ" FAQ for Plane board users explaining the STOP status: what it does, how to cancel a task, step-by-step consequences (agent stops → jobs cancelled → working branch and worktree removed → task → cancelled → Telegram+Plane; docs artifacts preserved, main/prod untouched), deferred cancellation in the critical merge/deploy window, explicit "STOP does NOT revert merged/deployed code" (revert is a separate task), restart only via "To Analyse" from scratch, no-op causes, where to observe the result, and STOP/Approved/Confirm Deploy disambig. docs-only: src/**, STAGE_TRANSITIONS, QG_CHECKS, check_*, machine-verdict keys and the DB schema are byte-for-byte untouched. STOP behaviour source of truth remains ORCH-090 (adr-0026); the FAQ documents and links to it (link-first: machine details markers/lease/tombstone given by reference, not duplicated). Add two-way cross-links: docs/overview/business.md (Сценарий 6) and docs/overview/tech-pipeline.md (Отмена: STOP → cancelled) → FAQ; FAQ → overview + ADR ORCH-090. Structure guarded by deterministic anti-drift test tests/test_faq_stop_doc.py (offline, no network/LLM/subprocess; mirrors tests/test_lite_setup_doc.py): existence + 8 section anchors + fact bricks + cross-links + claim-level negative scan (sentence-level, not bare substrings, so it never false-fails on correctly negating phrases — TR-3, with a non-evergreen self-check). Full pytest tests/ green (2227 passed). Refs: ORCH-108 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
6.6 KiB
FAQ: отмена задачи через статус STOP
Эта страница — для пользователя доски Plane. Она объясняет простыми словами, что делает статус STOP, как им безопасно остановить задачу и чего от него ждать. Читать код для этого не нужно.
Технические детали механизма — в инженерном обзоре конвейера и в ADR ORCH-090 (источник истины поведения). Эта страница их не дублирует, а пересказывает «для человека» и ссылается на них.
Что делает статус STOP?
STOP — это «кнопка отмены» задачи. Перевод задачи в статус STOP останавливает работу агента,
снимает задачу с очереди, прибирает рабочие материалы (ветку и worktree) и помечает задачу
отменённой (cancelled). Нажимать его безопасно даже посреди конвейера.
Как отменить задачу?
Переведите issue в статус STOP на доске Plane — так же, как меняете любой другой статус.
Предусловие: на доске должен быть заведён статус STOP (группа cancelled). Если его нет, STOP
не сработает (см. раздел «Я нажал STOP, но ничего не произошло — почему?»).
Что происходит, когда я нажимаю STOP?
По шагам:
- Активный агент останавливается (мягкая остановка процесса).
- Все job'ы этой задачи в очереди снимаются и больше не перезапускаются.
- Рабочая ветка задачи и её worktree удаляются. Ветка
mainи прод-контейнер при этом никогда не трогаются. - Задача переходит в терминальное состояние
cancelled. - Приходит уведомление в Telegram («🛑 … задача ОТМЕНЕНА (STOP)») и комментарий в Plane.
При этом документы задачи (бизнес-запрос, анализ, ТЗ, ADR и т.д.) сохраняются — удаляются только рабочая ветка и worktree, не история документов.
Что если задача в этот момент сливается или деплоится?
Если STOP пришёл во время необратимого шага (слияние в main или выкладка в прод), отмена
аккуратно откладывается до честного завершения этого шага. Вы увидите уведомление вида
«⏸️ … отмена ОТЛОЖЕНА». Ветка main и прод при этом не трогаются; как только шаг честно
завершится, отмена применяется автоматически.
Иными словами: STOP не прерывает уже начатый необратимый шаг на полпути — он дожидается его честного завершения, а затем отменяет задачу.
Откатит ли STOP уже выложенный код?
Нет. STOP сбрасывает незавершённый прогресс задачи (рабочую ветку, worktree, очередь), но
не откатывает код, который уже влит в main или выложен в прод. Откат уже выложенного —
это отдельная задача (revert), и STOP её не делает.
Как перезапустить отменённую задачу?
Отменённую задачу нельзя «продолжить с середины». Чтобы начать заново, переведите её в статус
«To Analyse» — задача будет создана с нуля: новая ветка от актуального main, новый анализ
и полный проход конвейера.
Я нажал STOP, но ничего не произошло — почему?
Вероятные причины:
- На доске нет статуса STOP — переход не распознаётся (безопасный no-op). Заведите статус STOP
(группа
cancelled) и попробуйте снова. - Задача уже завершена или уже отменена — повторный STOP ничего не меняет (это нормально, идемпотентный no-op, задача не ломается).
- Отмена отключена для репозитория настройкой оператора (
stop_status_enabled/stop_status_repos) — обратитесь к оператору.
Где увидеть, что задача отменена?
- Карточка задачи в Telegram покажет «🛑 … ОТМЕНЕНА (STOP)».
- В Plane появится комментарий об отмене.
- Оператор может увидеть отмену на служебной странице состояния
GET /queue— в блокеstop.
STOP, Approved и Confirm Deploy — в чём разница?
Это разные управляющие статусы, их легко перепутать:
- STOP — отменить задачу и сбросить её незавершённый прогресс.
- Approved — одобрить артефакт анализа (двигает задачу дальше по конвейеру); деплой он не запускает.
- Confirm Deploy — подтвердить выкладку в прод.
Подробнее об управляющих статусах и их семантике — в инженерном обзоре конвейера. Эта страница описывает только STOP.