# Proposal ## Why Заказчик жалуется на производительность: медленный скролл форм и медленное открытие модальных окон по кнопке. Подробностей нет, только пересказ. Бэк раньше профилировался базово; фронт подозревается, в том числе в утечках памяти. Нужно найти и доказательно показать проблемные места до того, как что-либо исправлять (issue #202). ## What Changes - Новый каталог `perf/`: воспроизводимый локальный стенд — Postgres в docker, бэк, prod-сборка фронта, генератор данных реалистичного объёма — и сценарии замеров на Playwright. - Замеры «до»: скролл листов форм, открытие модалок, рост памяти при длительной работе, время ответов API и тяжёлые SQL под этими сценариями. - Отчёт `perf/REPORT.md`: проблемные места с доказательствами, оценкой влияния и приоритетом. - Код приложения (`api/src`, `api/alembic`, `web/src`, `web/rsbuild.config.ts`) не меняется. Исправлений в этом change нет. ## Capabilities ### New Capabilities Нет. Change добавляет инструменты и отчёт, поведение системы не меняется (`skip_specs: true`). ### Modified Capabilities Нет. ## Impact - Новые файлы только в `perf/`, плюс при необходимости строки в `.gitignore` для сырых артефактов замеров. - Dev-зависимости стенда (Playwright и др.) живут в `perf/` и не попадают в `web/package.json` и `api/requirements*.txt`. - Для #199 (выгрузка на пром без следов обвязки): `perf/` к обвязке не относится. Включать ли его в выгрузку, решается там.