# NEW-CHAT-HANDOFF — передача смены «AI Film Серёгиус»

> **01.11.2026 — ChatGPT / Work / Grok Bot:** роли, расписания, общий замок, защита от дублей и границы доказанной готовности — `ops/LAUNCHER-COORDINATION.md`; живой реестр — `ops/slot-backup.json`. Копии и прежние отчёты не переопределяют этот реестр.

> **Как устроен файл и куда что писать (решение владельца 18.10.2026).** (1) **Находка, «запиши для сменщика», новое решение владельца** — одной строкой с датой в список «Новое с последней чистки» в конце блока «СЕЙЧАС»: дописывать, файл не переписывать. (2) **Контрольная точка текущей работы** (где остановились, следующий шаг) — `reports/current-work-checkpoint.md` и `work-resume-register.json`, как раньше (`ops/CONTINUE-PROTOCOL.md`). (3) **Передача смены** — поправить в «СЕЙЧАС» только устаревшие строки («Последнее», «Кто что делает», «Что открыто») и дату; блок целиком не переписывать. (4) **Раз в неделю** (ChatGPT, воскресенье 08:55 МСК, или предупреждение «Здоровье канона») — чистка по разделу «КАК ЧИСТИТЬ ХЕНДОФ И ИНСТРУКЦИИ» ниже. Журнал `archive/handoff-log.md` — история, не правила. Время, роли, слоты, SHA и приоритеты перепроверять по живым JSON.

## СЕЙЧАС (обновлено 01.11.2026)

**Живое состояние — в файлах:** health, сцены, slow, зарезервированные ID — `project-status.json`; слоты — `topview-status.json`; кто правит канон — `ops/canon-lock.json`; очередь запуска (priority, SHA, зависимости, `owner_instruction_*`) — `ops/topview-launch-queue.json`; текущая работа и ближайший шаг — `reports/current-work-checkpoint.md`, `work-resume-register.json`; задачи владельца — `ops/owner-tasks.json`; здоровье канона — `canon-health.json`.

**Последнее (30.10).**
- Состояние фактических задач, занятость шести видеослотов, технические повторы и новые разрешённые продолжения ведутся в `ops/topview-launch-queue.json`, `reports/current-work-checkpoint.md` и `work-resume-register.json`. Не восстанавливать состояние из исторических строк этого файла.
- **Приоритетная очередь (решение владельца 23.10):** при свободном слоте брать следующий фактически готовый разрешённый пункт по текущему `priority`. Если ранняя сцена ждёт результат предыдущей, пропустить её до готовности и запускать следующую; слот за заблокированной сценой не резервировать. Приоритет цепочки 16→42→56→48 сохранён, но прежняя чисто порядковая блокировка 57/58 до всех её частей снята. Настоящие видеовходы, QC и согласования остаются обязательными. Точные состояния, SHA и зависимости — в `ops/topview-launch-queue.json`; процедура — `ops/TOPVIEW-FREE-LAUNCH.md`.

- **Референсы57/58, мост62 и пустая кабина:** сохранены; состав и настоящие видеовходы — master/manifests и очередь. Кабина — AI-референс, не результат видео; режимы Topview — `reports/topview-workflows-2026-10-23.md`.

**Кто что делает.**
- **ChatGPT:** ordinary — каждый час :00 МСК, основной пока Work недоступен; TinyFish по реестру. Work :55 и Relay — резерв. ID/роли — `ops/slot-backup.json`; прежние фазы обслуживания и обязательные receipts сохраняются.
- **Grok Bot:** помощник `grok`; три рутины (Europe/Amsterdam): поручения Telegram+сайт каждые 10 мин 08:00–23:50; наблюдение :12/:27/:42/:57 08:12–23:57, сцены запускаются только в :12/:27; утренняя сводка 09:00; наблюдение только читает и уведомляет. Общий замок, один Create; первый запуск — по живому gate.
- **Claude:** доступ потерян по сообщению владельца; историю сохранять, чужие taken и «только Claude» не перехватывать (`ops/OWNER-TASKS.md`).
- **GitHub-роботы** — телеметрия, кнопки (фазы 1–3, очередь — только при свободном замке), архив MP4, бриф, canon-health; замок не берут.
- **Владелец** — творческие решения, приёмка, платные запуски, музыка.

**Действующие решения владельца** (полные тексты и время — в журнале).
- **Две версии промта у каждой сцены** (18.10; с 19.10 две вместо трёх): 30 с · Wan 3.0 / Seedance 2.5 (один текст на оба движка) и Seedance 2.0 · 2 × 15 с; новые сцены сразу в обеих — `PROMPT-STYLE-GUIDE.md` §7А. Запускать только метку из очереди. По умолчанию русская речь и тихие сцены — 30 с на Wan 3.0; экшен, перелёты, танцы, музыка — Seedance 2.0; 30 с на Seedance 2.5 — только по прямой команде; Seedance-версии сцен с русской речью (13, 43, 44, 55) — только по команде.
- **Динамика** (18.10): каждый перелёт динамичный и со своим манёвром; экшен — 5–7 битов, 3–5 мотивированных склеек, без «calm / without hurry / one continuous take»; лицо Серёги холодное, тело и камера в движении; лица в быстрых моментах — средним планом.
- **Замок канона** (17.10): перед канонической записью/запуском — `ops/canon-lock.json` по `ops/CANON-LOCK.md` (`scripts/canon_lock.py`): занят и не истёк — в этом цикле не писать и не запускать Topview; свободен — взять (до 45 мин), последним коммитом освободить.
- **Платные запуски Topview (кредиты) — только сам владелец; ИИ запрещено** (17.10). Агентам — только безлимит, 0 кредитов.
- **Самостоятельное продолжение** (17.10): без «продолжай» выполнять доступные шаги по checkpoint, register и очереди — `ops/CONTINUE-PROTOCOL.md`. Уже отправленное не повторять (`already_submitted`); удачный корабль и ЧЕТЫРЕ двигателя сохранять; перезапуски 13/16/24/25/27/30/31/32 удержаны. Контрольная точка после каждого существенного шага = commit/push/read-back.
- **Татуин 16 → 42 → 56 → 48 (решение 20.10):** старый принятый результат 16 сохранить; новая выбранная попытка разрешена только как Seedance 2.0, две части по 15 с у каждой сцены. Склейка (владелец 23.10): 56 P1 и 48 P1 без @Video1, идут сразу; P2 каждой сцены (и 42 P2) ждёт проверенный конец своей P1. Исторический старт 42 от старой 16 не использовать. Модуль держит Артём; меч Илюши после 42 горит; в 48 модуль летит Серёге, он запрыгивает на червя и уезжает.
- **Сцены 36–55** (17.10, `reports/scene-review-36-55-2026-10-17.md`): 52/53 — окраина татуинского города, описанного текстом (TATOOINE TOWN LOCK); 37 — взлёт с того же берега у стоянки, где он сел в 39; 50 — вуки «руки вверх»; вход в личный корабль — один боковой люк с рампой; интерфейс: 1 видео + 6 картинок; D5 закрыт, W11 не нужна.
- **36–37, «хлеб и молоко»** (14.10, вариант A): 36 — Серёга уходит с модулем к водяной завесе, Паша и Саша остаются; 37 — взлёт на корабле Канцлера у озера Набу, стикер «хлеб и молоко», модуль указывает на лесную планету — `reports/scenes-36-37-proposal-2026-10-14.md`.
- **Перелёты** (16.10, `reports/serega-travel-2026-10-14.md`): планета ситхов — после Кашиика («модуль светится к цели»); финальный ПК — тот же ПК из храма, на борту (41); посадка на Кашиике теперь разрешена отдельной сценой59 (владелец23.10; прежний запрет отменён); корзинка с грибами в 40 и 41; три фрагмента карты → Warcraft.
- **43–46:** 43 — у шаттла Канцлера заело крыло; 44 — крыло отваливается (русская речь, Wan 3.0; ждёт конец исправленной 43). 45/46 РосКОТмос, вариант A: 24 → 25 вперемешку с 45 → 46 (гэг) → 40 → 26.
- **Сюжет и музыка:** дуэль котов 27–32 → «красная точка», Scene 47; мат в 26 и «Zombie» на сайте остаются; музыка 28/49–51 — «Flares of the Blazing Sun» (для публичной версии нужна своя).
- **Координация:** владелец пишет в общий чат проекта, координатор раскладывает по тредам; про удаление git-веток не спрашивать.

### Что открыто (по порядку)
1. Очередь — `ops/topview-launch-queue.json`: запускать все готовые разрешённые сцены в свободные слоты по `priority`, пропуская ожидающие предыдущего результата. После готовности источника сохранить настоящий конец с provenance/SHA/QC и вернуть продолжение в выбор по приоритету. Роскосмос на паузе; технические повторы — по ops/TOPVIEW-RETRY.md (30.10). Success ≠ approval.
2. **Сцена52:** P1–P6 Seedance2/15с, P7 Wan3/30с;7референсов. Очередь R2P1–P7; настоящие стыки/QC. Подробности: reports/scene52-seven-parts-handoff-2026-10-27.md.
3. Issue #16 — владелец проверяет, что MP4 играет на `videos.html` (планшет).
4. Project Instructions ChatGPT установлены и перечитаны 27.10: `reports/chatgpt-project-instructions-2026-10-27.json`; шаблон — `USER-GUIDE.md`. Настройки Claude отдельно не проверены.
5. Хвосты по сценам и сюжету — `film-backlog.md`, открытые `owner_decisions`.

### Новое с последней чистки (дописывать сюда, одной строкой с датой)

- **02.11.2026:** Роскосмос=`roscosmos`, Разное=`raznoe`; старые `?p=` в `projects/project-migrations.json`. Терра Тех 26–30, 9:16, PNG нет, пауза.

- **01.11.2026, владелец:**48.2 подготовлена от настоящего конца48.1 и поставлена сразу после72/71 с Виталиком; приватный трёхсекундный вход привязан, шесть картинок и SHA проверены. Это порядок отправки, не ожидание результата Виталиков;48.3/4 ждут реальные стыки. `reports/scene48-p2-ready-2026-11-01.json`.

- **01.11 07:15, Grok (чистка по самопроверке):** 5 строк «Новое» (Grok 01.11, ordinary 31.10) — дословно в `archive/handoff-log.md`; правила — `ops/OWNER-TASKS.md`, `ops/LAUNCHER-COORDINATION.md`.

- Строки, очищенные 30.10, сохранены в `archive/handoff-log.md`; действующее состояние — в профильных файлах.

---

## ЖИВОЕ СОСТОЯНИЕ — автоматика, кнопки, slow (действует)

### Кто пишет и как запускается автоматика
- **Телеметрию Topview пишет GitHub-робот** (владелец 13.10): `topview-robot.yml` → `scripts/topview_api_scan.py` (только GET) → `scripts/robot_telemetry.py` (`noop` / `publish` / `hold`, один цикл = один коммит, `health=ok` до коммита); `monitor-role.json`: `primary=robot`, `standby=chatgpt`. Подробно — `ops/ROBOT-TELEMETRY.md` и `SYNC-RUNBOOK.md` «Робот GitHub — основной писатель телеметрии».
- **ChatGPT** (`ops/CHATGPT-MONITOR-FAST-PATH.md`) при здоровом роботе телеметрию только читает; через 180 минут без здорового цикла робота подхватывает запись (sticky). **Монитор Claude** (`trig_014eEvBooAV2hxx1asRo9snm`) выключен. Аварийный стоп робота — Variable `ROBOT_TELEMETRY=shadow` или команда владельца «основной монитор — ChatGPT».
- **Запуск снаружи:** Supabase `pg_cron` + `pg_net` → `workflow_dispatch` раз в 10 минут (робот :00, кнопки `sync-from-drive.yml` :02, архив :05; токен в Vault `github_dispatch_token`, продлить до окончания срока) — `ops/ROBOT-TRIGGER.md`.
- **Телеметрический робот не делает:** не запускает и не повторяет генерации, не одобряет, не тратит кредиты, не снимает canonical slow **сам по техническому результату Topview** (в отличие от обработчика явных кнопок владельца), не создаёт Scene ID, не угадывает сцену для задачи без точного совпадения промта (держит `hold` и пишет в issue `topview-events`).

### Кнопки владельца
Кнопки сайта → Supabase `owner_decisions` → `sync-from-drive.yml` (`process_owner_decisions.py`, `robot_master_actions.py`, фаза 3 — `robot_site_actions.py`), обычно до 15 минут. «Брак» → `review-ledger.json`; «Принять» / «Переделать» / «В монтаж» — решение по сцене со снятием canonical slow для завершённых задач; «🎞 В фильме» / «Не нужна» / «Не ждать» — коммит master (`ROBOT_MASTER_ACTIONS`, по умолчанию `on`). «В фильме» = сцена ушла в фильм, Scene ID резервируется навсегда. «Не ждать» не освобождает физический слот. Неоднозначное → `needs_owner`. «✎ Задача» → `ops/owner-tasks.json` (`ops/OWNER-TASKS.md`). Полная таблица — `SYNC-RUNBOOK.md` «Кнопки владельца и задачи текстом».

### Медленная генерация (slow), сайт, архив, промты
- **Canonical slow снимает только явная кнопка владельца** (11.10; «Принять» / «Переделать» / «В монтаж» после terminal Topview). `success` / `fail` / `cancelled` меняют только телеметрию и физические 6 слотов; освобождение слота ≠ снятие slow ≠ approval. В карточке — одна строка `**⏳ В МЕДЛЕННОЙ ГЕНЕРАЦИИ**`; коды подсцен — в `topview-status.task_parts`. Подробно — `SYNC-RUNBOOK.md` «Действующие решения 11–14.10.2026».
- **Сайт:** «✅ ГОТОВО / ❌ ОШИБКА TOPVIEW — ждёт решения владельца», строка «Ролики:»; готовые строки без автоскрытия; подписанные временные URL роликов в публичные JSON не помещать.
- **Автоархив MP4** — `ops/TOPVIEW-VIDEO-ARCHIVE.md`: только активные сцены, приватный Drive, слоты `topview-archive-seeds.json`; MP4 в публичном GitHub не хранить.
- **Промты** — шаблон `PROMPT-STYLE-GUIDE.md` §5А, две версии — §7А; ролик по прежней редакции сравнивать с запущенным текстом (в git).

---

## ИЗМЕНЕНИЕ ИСТОЧНИКА ИСТИНЫ и действующие правила записи (с 11.10.2026)

> **Канон — GitHub `virudik/ai-film-prompts`, ветка `main`** (решение владельца 11.10.2026, 03:25 МСК): `video-prompts.md` и ровно 7 инструкций, статусы, сайт/Pages. Google Drive (папка «AI Film Prompts Master»), Notion, Claude Project, ChatGPT Project и Library — **резервные копии только для чтения**; ничего на них не править (`BACKUP-AI-RUNBOOK.md`, «РЕЗЕРВНЫЕ КОПИИ КАНОНА»). Свежий `main` всегда побеждает.

- **Правка master:** свежий `git pull` → минимальный коммит → `SYNC-TRIGGER.txt` → валидатор `project-status.health=ok` → Pages → проверка. Master хранится только в LF.
- **Правка инструкций:** минимальный коммит → `python3 scripts/cert_github.py .` → тесты (`python3 -m unittest discover -s tests`) → push → проверка. Материальные изменения workflow / сайта / authority / восстановления — в том же цикле в релевантные инструкции и в ЭТОТ файл.
- **Один писатель канона одновременно.** Роли телеметрии решает `monitor-role.json` + `scripts/monitor_role.py` (пишет робот, ChatGPT — резерв; прежние мониторы ChatGPT HH:40 / HH:00, архивные Recovery и slot-watcher не включать). Агенты правят канон по замку `ops/canon-lock.json`. Отклонённый push = другой писатель: перечитать и повторить с нуля, устаревшую правку не переигрывать (особенно после таймаута).
- **Drive-копия:** робот `drive-write.yml` (`scripts/drive_write.py`, Workload Identity Federation, раз в сутки) пишет точные копии из `main` тем же file ID, только если Drive-файл равен одной из прошлых версий в git; правленную вручную копию не затирает — issue `drive-drift`: перенести правку в `main` или спросить владельца.
- Никаких `v2` / `final` / `copy` master. Не говорить «готово», пока read-back и проверка не прошли. Компьютер владельца для правки канона не нужен. Ключи (`SUPABASE_SERVICE_ROLE_KEY`, `TOPVIEW_API_KEY`, `TOPVIEW_UID`, `GCP_*`) — только в GitHub Secrets / Variables, токен запуска — в Supabase Vault; значения никогда не в чат, репозиторий, сайт или копии.

---

## СТАРТ ДЛЯ СМЕНЩИКА — приём смены и действующие правила. Читать первым

### 1. Приём смены и решение D7

**Короткий приём (D7, владелец 14.10.2026):** (1) `git pull` в `main`; (2) `shadow/takeover-brief.md` — «Валиден при генерации: True» и все 15 правил ✓; (3) `shadow/current-checkpoint.md` целиком (= этот файл до пометки «Предыдущая история»); (4) живые `project-status.json`, `topview-status.json`, `instruction-sync-status.json`, `automation-monitor-status.json`, `monitor-role.json`, `ops/canon-lock.json`, `ops/owner-tasks.json` и открытые `owner_decisions`; (5) под задачу — разделы из «Что читать под задачу» в брифе (промты — `PROMPT-STYLE-GUIDE.md` + сцена и соседние; сюжет — `film-analysis.md`, `film-backlog.md`, Notion «Кино»).

**Полный приём обязателен**, если бриф невалиден или в нём «✕ ANCHOR MISSING»; задача правит любую из 7 инструкций или материально меняет workflow / сайт / authority / восстановление; восстановление после сбоя; синхронизация, расписание, семантика слотов или общие правила нескольких сцен; владелец просит; любое сомнение. Порядок: `NEW-CHAT-HANDOFF.md`, `SYNC-RUNBOOK.md`, `AI-PROJECT-GUIDE.md`, `PROMPT-STYLE-GUIDE.md`, `USER-GUIDE.md`, `README-AI-SYNC.md`, `BACKUP-AI-RUNBOOK.md`, затем `video-prompts.md`, живые статусы (+ `deep-audit-status.json`) и открытые `owner_decisions`. В докладе указать, какой приём использован.

**Всегда:** перед записью в master — ещё один `git pull`; не переспрашивать владельца то, что есть в источниках; рантайм-числа — только из живых JSON; невозможный шаг — назвать (capability preflight). Бриф строит робот (`scripts/build_takeover_brief.py`, `shadow-brief.yml`); это навигатор, не authority.

**«Продолжай» (D7):** новый чат сам читает `main`, выполняет `scripts/continue_preflight.py` (для другого проекта `--project ID`), выбирает приём, продолжает по своему регистру и сохраняет квитанцию `reports/handoff-receipts.json` своего проекта с проверками и первым действием, а не пишет новый хендоф — `ops/CONTINUE-PROTOCOL.md`.

**Персонажи, монтаж, аудит приёма** — `AI-PROJECT-GUIDE.md` §15–17, `SYNC-RUNBOOK.md` §15–16: карта персонажей по `character-references.json` (запрос «Паша говорит Саше; потом заходит Серёжа» должен быть достаточен); доклад «готов» — только после проверки; творческий канон, approval и slow-решения не менять — конфликт владельцу.

### 2. Роли и мониторинг (кратко)

Роли, подхват через 180 мин, защита от одновременной записи (`WRITER_FILES`), оповещение `monitor-alert`, фазы цикла — `SYNC-RUNBOOK.md`; робот — `ops/ROBOT-TELEMETRY.md`; ChatGPT — `ops/CHATGPT-MONITOR-FAST-PATH.md`; Claude (если снова основной) — `ops/CLAUDE-MONITOR.md`. Живым считается только здоровый цикл (`health=ok`, без `phases_missing`); ложные heartbeat запрещены; противоречивую телеметрию не публиковать — цикл `degraded`, сообщение владельцу.

### 3. Решения владельца кнопками (кратко)

Кнопка «🔑 Владелец»; пароль — собственный пароль владельца (секрет Supabase `OWNER_DECISION_KEY`; агент его не видит и не просит). Кнопки у сцен: Принять / Переделать / В монтаж / 🎞 В фильме / ✕ Не нужна / ✎ Задача; в slow-таблице: Не ждать / Готово ✓ / Брак; каждую нажимают дважды. Статусы `pending` → `in_progress` / `needs_owner` → `applied` / `rejected`; `superseded`. Подробно — `SYNC-RUNBOOK.md`, подсказки — `USER-GUIDE.md`.

### 4. Сайт (Control Center)

Шапка «GitHub main — канон · Drive — копия»; чипы `Ревизия · Master · Topview · Монитор · Инструкции · Синхронизация`. Индикатор красный только при проблеме канона; жёлтый на старых данных — верное поведение. «Здоровье канона» — `canon-health.json`; фильм по порядку — `film.html`. Проверки: `scripts/validate_site.py`, `tests/site_status_check.js`. Контракты — `SYNC-RUNBOOK.md` «Валидатор, health и Control Center».

### 5. Решения владельца по сценам и работе (действуют)

- **Запуск генераций** — по команде владельца или из разрешённой им очереди, через веб-Topview под входом владельца, только безлимит (0 кредитов); путь MCP/Canvas платный и запрещён (`useUnlimitMode` в Canvas не поддерживается). Модели: Seedance 2.0 — `seedance-2.0-style`, до 15 с; Wan 3.0 — `qwen-wan3.0-video`, до 30 с. Canvas Scene 28 и recovery-Canvas: draft-узлы не размножать.
- **Новые сцены из Topview:** задачу с новым промтом автоматика в сцену не превращает — сообщает владельцу; привязка к существующей сцене — только по точному / нормализованному совпадению промта ровно с одной активной сценой.
- **Scene 27:** каждая 15s-часть Seedance 2.0 — не более **10 000 символов**. **Scene 28:** структура по master (10 частей; G28 — ровно 9 взрослых + Алеся + 2 кота); C28 только из кадра результата.
- **Персонажи:** коты домашнего масштаба; у Маши закрытый гладкий костюм (торс непрозрачный); Алеся — около 1 м; индивидуальные model sheets выше групповых.
- **Остальное:** Scene 10 / 11 three-shot закрыт; «Библия» Scene 20 — как есть; `NEEDS_FIX` / `NEEDS_RERENDER` — по одной сцене; «🎞 В фильме» сцены в master не возвращать (`project-status.json.reserved_scene_ids`); Work и Codex по умолчанию не привлекать.
- **Референсы:** reference-first — только безлимит Topview или картинки ChatGPT; каждый кадр — QC, manifest, миниатюра, слот в промте; Canva — по согласию владельца.
- **Приоритеты сюжета** (`film-backlog.md`): W5 — Канцлер / Warcraft 3; W7 — переходы между группами; W8 — transport continuity.

### 6. Как продолжать

Приём смены (п. 1) → «СЕЙЧАС» и «Что открыто». Слоты — только из свежего `topview-status.json`. Творческое, неоднозначное, approval / rerender / удаление / закрытие сцен — вопрос владельцу; детерминированное — делать самому.

## ТЕКУЩЕЕ ДОПОЛНЕНИЕ — бриф для короткого приёма (D7, с 14.10.2026)

`shadow/` (`takeover-brief.md/.json`, `current-checkpoint.md`) строит `scripts/build_takeover_brief.py` в `shadow-brief.yml` при изменении 7 инструкций, master, `instruction-sync-status.json` и после «Sync canonical master»; не править вручную; при расхождении побеждает свежий `main`. Отменить D7 — только решением владельца.

## ТЕКУЩЕЕ ДОПОЛНЕНИЕ — действующие контракты сайта и синхронизации

Полный текст — `SYNC-RUNBOOK.md` («Валидатор, health и Control Center») и `USER-GUIDE.md`. Master — только LF (проверять отсутствие `\r`). D5: пульс синхронизации — раз в 3 ч, порог свежести master-sync — 4 ч.

## КАК ЧИСТИТЬ ХЕНДОФ И ИНСТРУКЦИИ (решение владельца 18.10.2026)

**Когда:** раз в неделю (ChatGPT, воскресный цикл 08:55 МСК) или когда «Здоровье канона» (`canon-health.json`, сайт) показывает предупреждение: хендоф больше 35 КБ, «СЕЙЧАС» старше 3 дней, битая ссылка на файл, задача владельца висит больше 3 дней, в очереди сцены вне мастера. Устаревание решается по состоянию проекта, дата — только сигнал.

**Что делать (под замком канона, маленькими коммитами):**
1. Каждую строку «Новое с последней чистки» разнести по месту: действующее правило — в его инструкцию (одно место на правило), в хендофе остаётся строка со ссылкой; текущее состояние — в «Последнее» / «Кто что делает» / «Что открыто»; история — записью в `archive/handoff-log.md` (новые сверху). Список «Новое» после разбора очистить.
2. Из «СЕЙЧАС» убрать то, что перестало быть правдой (сделано, отменено), перенеся дословно в журнал. Ничего не удалять бесследно.
3. Дубли в 7 инструкциях: правило живёт в одном месте, в остальных — одна строка со ссылкой. Правило, которое ещё действует, не удалять; сомнение — оставить и спросить владельца в итоге.
4. `ops/*.md`: у каждого строка «Статус: … Проверено: дд.мм.гггг»; ненужный и ни на что не влияющий (проверить `git grep` по скриптам, workflow, инструкциям ChatGPT) — в `archive/ops/`.
5. Сверить документы и живые настройки по `ops/AUTOMATION-CONSISTENCY.md`; архив входящих — по `ops/OWNER-TASKS.md`. Проверки: `python3 scripts/cert_github.py .`, `python3 -m unittest discover -s tests`, `python3 scripts/validate_site.py`, `python3 scripts/canon_health.py .`, бриф приёма `scripts/build_takeover_brief.py` — valid и все якоря.
6. Творческое и спорное не решать: одним вопросом владельцу в итоге чистки.
7. **Проекты** (`projects/projects.json`): каждый `projects/<id>/HANDOFF.md` — по тем же правилам, под замком проекта; цель до 12 КБ; контрольные точки ДО/ПОСЛЕ из хендофа — в `projects/<id>/reports/current-work-checkpoint.md`, разобранное — дословно в `projects/<id>/archive/handoff-log.md`; «Сейчас» сверить с `projects/<id>/project-status.json`. Проверка — `python3 scripts/projects.py . validate`.
8. **Служебные файлы**: `python3 scripts/trim_service_files.py . --root-only --write` — корень под общим замком; без `--root-only` нужны замки всех затрагиваемых проектов. Политика — шапка скрипта: checkpoint5, completed_work10, done/completed10; очередь — подтверждённое завершение и 7дней, ID остаются. Relay — `ops/TOPVIEW-EVENT-WAKE.md`; журнал операций — `ops/ROBOT-TELEMETRY.md`. Незавершённое сохранять.

## Предыдущая история

Журнал прежних блоков и решений (новые сверху; не действующие правила) — `archive/handoff-log.md`.
