# Ежедневный цикл «sealed-plan» — разбор для владельца (простым языком)

**Для кого:** владелец (не программист). **Зачем:** понять, как изменится повседневная работа, КОГДА оборона «роутер-наставник» включится полностью — ДО того, как что-либо переключать.
**Кодовая фраза эпика:** «роутер-наставник».
**Статус:** разбор/обучение. Ничего не активирует. Companion к runbook'у `2026-06-09-phase8-deployment-runbook.md` (тот — про активацию).

---

## 1. Большая картинка в четырёх фразах

1. **Сначала запечатываем план, потом пишем код.** План — это список конкретных шагов («поправить файл X», «выполнить команду Y»). Пока план не «опечатан» (подписан), стена не пускает к правкам.
2. **Стена пускает только то, что в плане.** Любая правка, которой нет среди шагов опечатанного плана, блокируется. Это не поломка — это и есть защита.
3. **Необратимое всегда требует твоей двери.** Снос (force-push, удаление, пересоздание БД) не пройдёт даже если он «в плане» — нужен твой аварийный клик (escape).
4. **Перед коммитом — подписанная расписка, что тесты зелёные.** Нельзя закоммитить, сказав «у меня всё прошло» на словах: система сама гоняет тесты и подписывает результат.

---

## 2. Ежедневный цикл — пошагово

| Этап | Что происходит | Кто делает |
|---|---|---|
| **A. Разговор** | Обсуждаем задачу (brainstorming/discovery). Решение «что делаем» оформляется и **опечатывается** как артефакт (печать №1). | Claude думает; печать ставится автоматически при одобрении |
| **B. План** | Claude пишет план в `docs/superpowers/plans/*.md`. В момент записи **судья** читает весь план и выносит вердикт ГО/не-ГО. | Claude пишет; судья судит |
| **C. Печать плана** | На **ГО** план **опечатывается** (печать №2) — появляется «замороженный план» с подписью. С этого момента стена знает, что разрешено. | Автоматически на ГО судьи |
| **D. Реализация** | Claude правит файлы и выполняет команды. Стена пропускает **только** действие, точно совпавшее с шагом плана (тот же тип, тот же файл/команда). Всё прочее — стоп. | Claude работает под стеной |
| **E. Необратимое** | Если шаг — снос, стена НЕ благословляет сама: нужна **твоя дверь** (escape-клик). | Ты подтверждаешь |
| **F. Коммит** | Перед `git commit`/`push` нужна **подписанная verify-расписка**: система сама прогоняет сюиту тестов и, если зелено, подписывает результат, привязанный к ровно тем правкам, что застейджены. | Автоматически (запуск расписки) |
| **G. Push** | Только по твоему слову «пуш». | Ты |

---

## 3. Две «печати» и расписка — человеческими словами

- **Печать артефакта (№1)** — «мы договорились вот об этом решении». Замораживает суть, чтобы её нельзя было тихо подменить после одобрения.
- **Печать плана (№2)** — «вот список одобренных шагов». Если шаг плана хоть на букву изменить — подпись слетает, и это видно. Стена сверяет каждое действие с этим списком.
- **Verify-расписка** — «тесты реально зелёные на ровно этих правках». Привязана к отпечатку застейдженных файлов: поменял файлы — старая расписка протухла, нужна свежая. Это убирает соблазн «скажу что всё прошло».

Ключи для всех трёх печатей лежат **в твоём keychain** — Claude их не видит и подделать не может. Печать ставит не Claude, а сам хук-процесс на твоём одобрении/ГО.

---

## 4. Что тебя будет «блокировать» и почему это нормально

Блок — это система, которая работает, а не авария. Частые случаи:

| Видишь | Что значит | Что делать |
|---|---|---|
| «нет замороженного плана — действие вне плана» | ещё не дошли до печати плана (этап C) | сначала договориться и опечатать план |
| «действие не в плане (ожидался шаг N: …)» | Claude пытается сделать не то, что в плане | вернуться к плану: либо это лишнее действие, либо план надо пере-одобрить |
| «разрушительное — пол требует двери владельца» | шаг необратим (снос) | твой escape-клик на конкретное действие |
| «verify-gate: нет подписанного GREEN» | коммит без свежей расписки тестов | прогнать расписку (тесты сами прогонятся) |
| «ПОСТ ПУСТОЙ» на доске | один из стражей не зарегистрирован | дописать недостающий (доска назовёт имя) |

---

## 5. Твоя дверь — escape (М6)

Когда оборона законно мешает (необратимое действие или правка самих правил/«ЗАКОНА»), ты даёшь **разовый** аварийный выход на **конкретное** действие — через вопрос-подтверждение. Это не «выключить защиту», а «я, владелец, разрешаю вот это одно». Грант одноразовый, с окном по времени, видно на доске «кто на посту».

Граница «КАРТА vs ЗАКОН»:
- **КАРТА** (память, CLAUDE.md, заметки) — Claude ведёт свободно, ты видишь после. Низкий порог.
- **ЗАКОН** (Pravila/PSR/Tooling + любая правка самих правил/дисциплины) — **только с твоим escape-ключом**. Claude не может тихо переписать правила, которые его связывают.

---

## 6. Честная пометка: почему ещё рано флипать (текущий гейт)

Сухой прогон по коду (09.06.2026) показал: **печать плана в рантайме пока некем поставить.** Канал печати построен, но судья-хук на ГО сейчас только записывает вердикт — он ещё **не зовёт оркестрацию печати** (это отложенный код-пункт Фазы 8: «включить `sealedPlanCoversEdit` + оркестрацию печати»).

Что это значит на практике:
- Если включить стену М2 прямо сейчас — опечатанного плана не появится никогда → стена заблокирует **любую** правку. Рабочий цикл встанет.
- Поэтому **перед флипом нужно собрать связку печати** (код в `tools/`, по TDD; НЕ трогает settings.json/keychain/ENV). Это — реальный первый код-шаг к флипу.
- Судья при этом **уже разведён в коде** на реальную модель: остаётся только твоя активация (ключ есть, флаг выставлен, режим shadow). Но сам по себе судья план не печатает — нужна связка выше.

**Вывод:** сейчас стоит безопасная частичная защита (пол рубит необратимое, снимок и escape на месте, старый зоопарк прикрывает остальное). Следующий разумный код-шаг — собрать связку печати по TDD. Флип (регистрация остальных хуков + увольнение зоопарка) — после того, как печать заработает и пройдёт тест-гейт §9.2.

---

## 7. Сверить перед флипом (открытые мелочи)

- **Состав хуков:** handoff #5 говорит «манифест 9 + 4 дисциплины», свежий runbook (09.06) — «13». Зафиксировать каноничный список (вероятно `floor-manifest-check.DEFAULT_REQUIRED_HOOKS`).
- **Порядок снятия зоопарка:** `router-gate`/`powershell-gate` снимать ТОЛЬКО после регистрации пола М5 — иначе ~20 Bash-классов + весь PowerShell открываются (одна атомарная правка).

---

## Технические якоря (для Claude / следующей сессии)

- Стена М2: [tools/enforce-supreme-gate.mjs](../../../tools/enforce-supreme-gate.mjs) (`decide`/`decideMode`, читает `frozen-plan-<session>.json`).
- Замок плана: [tools/plan-lock.mjs](../../../tools/plan-lock.mjs) (`freezePlan`/`actionMatchesStep`/`saveFrozenPlan`).
- Судья М4 (Гейт-2): [tools/enforce-judge-gate.mjs](../../../tools/enforce-judge-gate.mjs) (`runJudgeGate` разведён на `callAnthropicAPI`; `main()` логирует/блокирует, **печать не ставит** — это и есть гейт §6).
- Канал печати: [tools/judge-seal-channel.mjs](../../../tools/judge-seal-channel.mjs) (`sealOnApproval` — построен, в рантайм не подключён).
- Verify-расписка G1: [tools/produce-verify-receipt.mjs](../../../tools/produce-verify-receipt.mjs).
- Shadow-прогон: [tools/shadow-replay.mjs](../../../tools/shadow-replay.mjs) (read-only отчёт).
- Runbook активации: [2026-06-09-phase8-deployment-runbook.md](2026-06-09-phase8-deployment-runbook.md).
- Спека М7 §6/§8/§9: [../specs/2026-06-08-router-mentor-machine-7-design.md](../specs/2026-06-08-router-mentor-machine-7-design.md).
