# Хэндофф: приёмочный тест liderra.ru через «телевизор-имитацию» — для следующей сессии

**Дата:** 19.06.2026 (поздний вечер). **Кодовая фраза стены:** «роутер-наставник» (на этой сессии стена была СНЯТА владельцем).
**Зачем файл:** не потерять контекст между сессиями. Здесь — что решили, где ранбуки/спеки, что за интерактив-имитация собрана, журнал диалога и промпт для старта новой сессии.

---

## 0. Статус одной строкой
Прод liderra.ru готов (G1–G7 выкачены 19.06). Спроектирован приёмочный тест «глазами клиента». На этой сессии **продизайнен и собран ПРОТОТИП ВИЗУАЛА-ИМИТАЦИИ** («телевизор-доказательство»). Реальный прогон ещё НЕ делали — по решению владельца сейчас **дорабатываем имитацию** (формат), потом — настоящий прогон.

## 1. Что хочет владелец (итог discovery-interview)
- **Цель:** уверенность, что, взяв деньги с клиентов, портал их не подведёт. Не галочки — **видеть глазами**.
- **Формат — «КИНО + стоп-кадр ИТОГА»:** я (исполнитель) делаю всё живьём по ранбуку; внутрянка Лидерры и поставщика **записывается**; владелец смотрит кино, на **итоге каждой темы** — СТОП-кадр: «7 клиентов сделали → вот ИТОГ (агрегат), и ПОЧЕМУ так», оценивает → «дальше». НЕ по-шагово «клиент 1 → поставщик».
- **Видеть надо:** 7 кабинетов клиентов (их проекты, страницы сделок, балансы), портал поставщика, распределение лидов, деньги, блокировки/заморозку, изоляцию, регистрацию — с точки зрения пользователя + что внутри.
- **Два слоя:** 🅛1 корректность (кино + стоп-оценка по итогам, владелец жмёт «дальше»); 🅛2 нагрузка — на **сервер И канал** к поставщику (пропускная, латентность, очередь, потолок).
- **Запись (DVR):** пауза / перемотка / LIVE; всё пишется для пересмотра и сверки.
- **Сервер под прогон поднимут** (без экономии — показывать все кабинеты живьём).
- **Критерий «не облажались» (всё идеально):** деньги до копейки · изоляция · лид не пропал · онбординг · заморозка · заказ поставщику · отчёты/импорт · нагрузка.

## 2. Документы-источники (ЧИТАТЬ в начале новой сессии)
- **Дизайн визуала (главное):** `docs/superpowers/specs/2026-06-19-acceptance-televizor-proof-design.md` — кино+агрегат-итог, 2 слоя, сервер/канал, презентация.
- **Хартия (объём проверок по 10 пунктам + ПЕРЕСМОТР):** `docs/superpowers/specs/2026-06-18-acceptance-test-charter.md` (вверху — указатель на этот дизайн).
- **Карта логики прода §0–§21:** `docs/superpowers/specs/2026-06-18-prod-logic-map.md`.
- **Решения по G-находкам:** `docs/superpowers/specs/2026-06-18-gfindings-session-handoff.md`.
- **Гайд работы под стеной:** `docs/superpowers/router-mentor-wall-GUIDE.md`.
- **Память:** `project-portal-acceptance-test` (чекпоинт), `project-golive-findings-status`, `ПИЛОТ.md`/`ЭТАЛОН.md` (корень репо).

## 3. Ранбуки (исполняемая форма теста) — все
`docs/superpowers/runbooks/`:
- `2026-06-18-acceptance-r0-start-access-safety.md` — старт/доступ/безопасность.
- `2026-06-18-acceptance-r1-provisioning.md` — провижининг 7 клиентов/16 проектов (SQL, метка `TEST-`).
- `2026-06-18-acceptance-r2-injection-stand.md` — инъекция лидов (вебхук).
- `2026-06-18-acceptance-r3-engine.md` — движок: распределение/деньги/сделки/изоляция + all-pairs (27) + карточки D-CAP/D-ROUND/ISO-*/M-*.
- **`2026-06-18-acceptance-r3b-onboarding-digest.md`** — НОВЫЙ (19.06): онбординг G1 / колокольчик+дайджест G2 / убранные напоминания G3 / отчёты / импорт. Сверен с реальным прод-кодом, выверен скилом `operations:runbook` (troubleshooting/rollback/escalation/history).
- `2026-06-18-acceptance-r4-load-capacity.md` — слой D (нагрузка/ёмкость).
- `2026-06-18-acceptance-r5-finalize-teardown.md` — финал/teardown.

Популяция: **7 клиентов · 16 проектов · 12 rt у поставщика**; регионы порядковые (Москва=82). Изоляция гоняется под c1 и c8.

## 4. Реальные факты прода (сверено 19.06, read-only)
- G1 самозапись ЖИВЁТ (`RegistrationController`/`RegistrationService`: код 6-зн, TTL 15м, 5 попыток, старт 300₽; гейт `requisites_required`; ИНН/DaData; на проде код только письмом; **админ-создания тенанта НЕТ**).
- G2 дайджест ЖИВЁТ (`SendNewLeadsDigestJob` everyThirtyMinutes, дефолт new_lead.email=true; **узкое место H1 синхронного письма УШЛО**).
- G3 напоминания УБРАНЫ целиком (нет контроллера/команды/крона/таблицы).
- Тарифы: **на проде 500→250₽** (T1 500…T7 250), ≤65₽ НЕ применено.
- Прод: 5 тенантов (lkomega=tenant2 — НЕ трогать), ~1022 сделки, сервер 2 ядра/2 ГБ, очередь Redis пуста; чтение БД = `sudo -u postgres psql liderra -c "SELECT…"`.

## 5. Последний вариант ИНТЕРАКТИВА (имитация) — где и как
Папка **`live-demo/`** (в корне репо `Документация`). Это ПРОТОТИП визуала (не продукт).
- **`player.html`** — «видеомагнитофон»: DVR (⏮ ◀ ⏸ ▶ ⏭LIVE + ползунок), зоны: **7 кабинетов клиентов** (баланс/проект/последние сделки, подсветка кому пришёл лид) · **кино-полоса** (что делаю) → **стоп-кадр ИТОГА** по теме (агрегат + «ПОЧЕМУ») · **карта рисков** (8 чипов, зеленеют) · **сервер+канал** (live) · **поставщик crm.bp-gr.ru** (РЕАЛЬНЫЙ скрин) · кино-лог.
- **`index.html`** → редирект на player.html.
- **Данные кадров:** `live-demo/frames/NNNN.txt` (секции `@@RISKS@@/@@CABS@@/@@PHASE@@/@@THEME@@/@@PROG@@/@@RESULT@@/@@WHY@@/@@EV@@`) + `count.txt`; сервер — `live-demo/load.txt`; подпись/прочее — `caption.txt` (от старых версий).
- **Как запустить:**
  1. мини-сервер: `cd live-demo && php -S 0.0.0.0:8899` (фон), открыть `http://localhost:8899`.
  2. живой пульс сервера (фон-цикл): пишет `load.txt` через `ssh liderra-prod` каждые ~5с (CPU/память/диск/очередь).
  3. записывающий сценарий (фон-цикл): пишет `frames/*.txt` — кино+стоп-итог по 7 темам (онбординг→заказ→распределение→деньги→блокировки→изоляция→нагрузка), кабинеты двигаются.
  (Точные команды циклов — в журнале диалога §7 и в истории Bash этой сессии.)
- **Что РЕАЛЬНО, что МОК:** поставщик-скрин, загрузка сервера, факты прода (5 клиентов/тарифы/heartbeats) — реальные. **7 кабинетов клиентов — МОК** (для оценки формата). Реальными станут только на настоящем прогоне (живые тест-клиенты).

## 6. Открытый вопрос / что дальше
- Владелец **оценивает формат имитации** (этот интерактив — то, чем будет судить портал). Несколько раз просил: видеть ВСЕХ 7 клиентов реальными экранами — это **предел имитации**, даётся только настоящим прогоном.
- **Следующий шаг (по решению владельца): продолжаем дорабатывать ВИЗУАЛ ИМИТАЦИИ.** Потом — план настоящего прогона (writing-plans) и сам прогон (нужно: добро на тест-клиентов SQL, апгрейд сервера, окно, чистка до 21:00).
- Не забыть слой нагрузки на **сервер И канал**.

## 7. Журнал диалога этой сессии (хронология решений)
1. Старт: задача — дописать R3b после деплоя G1/G2/G3. Выяснилось (чтением прода): на тот момент деплой G1/G2 НЕ приехал → доложено владельцу.
2. Владелец: «доделали прод, стена снята» → перечитан ПИЛОТ + реальный прод-код: G1/G2/G3 подтверждены на боевом. **R3b написан** по факту, выверен скилом `operations:runbook`. Хартия (пп.5/6) и память обновлены.
3. Владелец: хочу видеть результаты тестов «не галочки, а глазами» → родилась идея **«прямой эфир/телевизор с доказательствами»**.
4. Итерации визуала (live-demo): скриншот боевого → страница-телевизор (авто-обновление кадров) → 2 панели (экран+база) → +загрузка сервера live → +движение (фон-циклы) → +все комбинации (all-pairs) → +поставщик (реальный crm.bp-gr.ru) → DVR пауза/перемотка → 7 кабинетов → карта рисков зеленеет.
5. Брейншторм + discovery-interview: вскрыли настоящую потребность — **кино + стоп-кадр ИТОГА (агрегат, почему), 2 слоя (корректность + нагрузка сервер/канал)**; владелец рулит «дальше» на итогах, не по-шагово.
6. Перестроили плеер под «кино + ИТОГ темы» и добавили **7 кабинетов** (мок) с балансами/сделками. Это последний вид.
7. Грабли по пути: блокировка `localhost:8899` без `/viewer.html` (добавлен index-редирект); подвисший MCP-Chrome профиль (снимали процессы); awk-полоски (пробел в конкатенации); слипание @@WHY@@ без `\n` (починено); `rm -rf` в фон-команде был отклонён хуком (убрали).
8. Решение владельца на момент стопа: **дорабатываем имитацию визуала**, реальный прогон — потом.

## 8. Промпт для следующей сессии (вставить как есть)

> Продолжаем работу над приёмочным тестом боевого liderra.ru — сейчас дорабатываем **визуал-имитацию** («телевизор-доказательство»). Кодовая фраза стены: «роутер-наставник».
>
> 1. **Прочитай по порядку:** этот хэндофф `docs/superpowers/specs/2026-06-19-acceptance-televizor-handoff.md`; память `project-portal-acceptance-test`; дизайн `docs/superpowers/specs/2026-06-19-acceptance-televizor-proof-design.md`; хартию `2026-06-18-acceptance-test-charter.md`; карту логики `2026-06-18-prod-logic-map.md`; ранбуки `docs/superpowers/runbooks/2026-06-18-acceptance-r0..r5` + `r3b`.
> 2. **Подними имитацию:** в `live-demo/` запусти `php -S 0.0.0.0:8899` и открой `http://localhost:8899` (player.html — DVR с 7 кабинетами, кино+стоп-итог, карта рисков, сервер/канал, реальный поставщик). При желании перезапусти фон-циклы (пульс сервера + записывающий сценарий) — шаблоны в §5/§7.
> 3. **Контекст формата:** владелец хочет КИНО того, что я делаю + СТОП-кадр ИТОГА по теме (агрегат «7 клиентов → результат + ПОЧЕМУ»), 2 слоя (корректность + нагрузка на сервер И канал), DVR пауза/перемотка, видеть 7 кабинетов клиентов (проекты/сделки/балансы) + поставщика. 7 кабинетов пока МОК — реальными станут на настоящем прогоне.
> 4. **Продолжай дорабатывать визуал имитации** по замечаниям владельца. Реальный прогон (тест-клиенты SQL, апгрейд сервера, чистка до 21:00) — отдельный следующий этап, только по явному «делаем прогон».
> 5. Стена сейчас снята; правила CLAUDE.md — не трогать lkomega/живую поставку, БД read-only кроме явного добра, коммит — спрашивать.
