# ПРОМТ #1 для свежей сессии — закрыть находки/вопросы приёмки liderra.ru

> **Как использовать:** вставь блок «СТАРТОВЫЙ ПРОМТ» ниже в новую сессию. Остальное — пояснения.

---

## СТАРТОВЫЙ ПРОМТ (вставить как есть)

> Закрываем зафиксированные находки по подготовке приёмочного теста портала Лидерра. Кодовая фраза стены: «роутер-наставник».
>
> **Прочитай сначала:** реестр находок `docs/superpowers/specs/2026-06-20-acceptance-findings-register.md` (там все находки с file:line) и мастер-хэндофф `docs/superpowers/specs/2026-06-20-acceptance-MASTER-execution-handoff.md`.
>
> **Контекст:** локалка байт-в-байт с боевым (`01a9029c`, G1–G7). Тесты функционала портала — ТОЛЬКО на проде (отдельная задача по мастер-хэндоффу). Твоя задача — **починить код/доки-находки локально** по TDD и навести порядок в git. Прод НЕ трогаешь.
>
> **Жёсткие правила:** правка `.php` → ОБЯЗАТЕЛЬНО прогон тестов после (pest/phpunit), иначе хук-стоп. Pre-commit deptrac валит любой php-коммит, пока жив F-DEPTRAC — начни с него. Хуки НЕ обходить `--no-verify` без явного слова владельца. Коммит — спрашивать у владельца перед каждым (или собрать в конце). Не выдумывать — открыл файл, проверил.
>
> **Задачи по порядку (детали и критерии — в плане ниже по файлу):**
> 1. **F-DEPTRAC** (разблокировать php-коммиты): `ImpersonationContext` (Middleware) зависит от `ImpersonationEndedMail` (Mail). Рефакторинг (вынести отправку письма из middleware в сервис/джоб) ИЛИ обновить `app/deptrac.yaml`+ADR-005 — согласовать с владельцем какой путь. После — deptrac зелёный, php-коммиты проходят.
> 2. **Хвост-комментарий** (уже в рабочей копии, ждёт коммита): правка устаревшего докблока `app/app/Services/NotificationService.php` (G2-B: new_lead.email true). Верифицировано (43 теста зелёные) — закоммитить после F-DEPTRAC.
> 3. **F-CSV** (безопасность): экспорт сделок/отчётов/списаний пишет ячейки «как есть» — нет экранирования формул (`= + - @`). Подтвердить уязвимость тестом, починить экранированием в писателе(ях) по TDD, тесты.
> 4. **F-REMIND** (хвост уборки): дочистить остатки снятой фичи «Напоминания» во фронте (`resources/js/api/auth.ts` тип `'reminder'`, устаревший коммент `DealDetailBody.vue`). Проверить, не рендерит ли мёртвый переключатель.
> 5. **F-DELPROJ** (свод): поправить формулировку в `docs/superpowers/specs/2026-06-20-acceptance-imitation-checks-table.md` пункт №15 — «удаление проекта со сделками ЗАПРЕЩЕНО (422)», не «сделки сохраняются».
> 6. **F-CORPUS** (хэндофф): корпус приёмки (R0–R5, хартия, prod-logic-map, эфир, live-demo, checks-table, stepbystep-plans) — UNTRACKED. Закоммитить (docs-only), чтобы мастер-ссылки работали в новом клоне. Согласовать с владельцем состав.
> 7. **Отложенные на прод** (НЕ закрываются локально, оставить как есть): F-PDF (PDF→failed), F1/F2/F4/F5 (осмотр 17.06) — закрываются на живом прод-прогоне.
>
> Каждую закрытую находку отметь в реестре (статус → «закрыто», как/чем). Коммит — спрашивать.

---

## Пояснения (не для вставки — для тебя)

### Откуда находки
Все выявлены при сверке свода проверок с кодом во время написания 26 пер-пунктовых планов (`docs/superpowers/plans/2026-06-20-acceptance-*`). Каждая — с доказательством file:line в реестре.

### Приоритет и почему именно так
- **F-DEPTRAC первым** — это стена для любого php-коммита; пока не снят, ни F-CSV, ни комментарий, ни любой код не закоммитить (кроме docs).
- **F-CSV — единственная находка безопасности** (formula injection в выгрузках). TDD: сначала тест, доказывающий, что `=1+1` уходит в файл как формула, потом фикс (префикс `'` на ведущие `= + - @`), потом зелёный.
- **F-REMIND** — мелкий хвост, но владелец требует «не оставлять хвостов».
- **F-DELPROJ** — только правка свода (формулировка), код корректен.
- **F-CORPUS** — без коммита корпуса мастер-хэндофф неполон для новой сессии.

### Файлы-ориентиры
- Реестр находок (источник истины): `docs/superpowers/specs/2026-06-20-acceptance-findings-register.md`.
- Экспорт (F-CSV): `app/app/Http/Controllers/Api/DealExportController.php`, `app/app/Services/Reports/Providers/DealsExportProvider.php`, `app/app/Http/Controllers/Api/TenantChargesController.php`.
- F-REMIND: `app/resources/js/api/auth.ts:12`, `app/resources/js/components/deals/DealDetailBody.vue:3`.
- F-DEPTRAC: `app/app/Http/Middleware/ImpersonationContext.php:37`, `app/deptrac.yaml`.

### Чего НЕ делать
- НЕ трогать прод. НЕ гонять функциональные тесты портала (это прод-задача по мастеру).
- НЕ обходить хуки. НЕ коммитить без спроса. НЕ менять логику под видом «фикса комментария».
- Прод-verify находки (F-PDF, F1/F2/F4/F5) НЕ закрывать локально — пометить «на прод-прогоне».
