### Task 10: ТЗ, сборка и end-to-end проверка **Files:** - Modify: `ТЗ.md` (раздел «Поиск и подключение каналов») - [ ] **Step 1: Дополнить ТЗ** — кратко: задачи поиска, каскад фильтров, глобальное правило «мы не состоим», метки, оценка по темам, review/join/reject + чёрный список, авто-вступление и квоты (50/сутки, 50–70 с), подвкладка «Поиск» на «Каналах». - [ ] **Step 2: Сборка и рестарт**: ```bash docker compose build app && docker compose up -d app cd frontend && npm run build ``` - [ ] **Step 3: E2E вручную (нужен подключённый Telegram-аккаунт)**: 1. «Каналы → Поиск» → создать задачу (описание, план 3, авто-вступление выкл) → «Сгенерировать ключи» → запустить. 2. Дождаться кандидатов; проверить, что текущие подписки и отклонённые не появляются. 3. Открыть кандидата: метки, участники, fit «X из N», темы форума. 4. «Вступить и мониторить» → источник появляется в «Каналах» (monitor on) и начинает давать карточки. 5. «Отклонить» → уходит в чёрный список; повторно не находится. 6. Включить авто-вступление: проверить паузы (≥50 с) и расход суточного лимита. ---