# 🚨 КРИТИЧЕСКИЕ ПРАВИЛА РАБОТЫ ## ПРАВИЛО №1: НИКАКИХ ТЕСТОВЫХ РАССЫЛОК НА РЕАЛЬНЫХ ЛЮДЕЙ **КОНТЕКСТ:** В чате бота ~1000 квартир (~2000 жителей). Любая рассылка = спам сотням людей. **ЗАПРЕЩЕНО:** - ❌ Отправлять тестовые рассылки через `/api/broadcast/create` без явного разрешения - ❌ Тестировать функции рассылки на реальных пользователях - ❌ Использовать `curl`/Python скрипты для отправки сообщений пользователям без согласия - ❌ Проводить "проверочные" рассылки "чтобы убедиться что работает" **РАЗРЕШЕНО:** - ✅ Тестировать рассылки ТОЛЬКО на самом админе (user_id: 197957361) - ✅ Тестировать через mock-объекты без реальной отправки - ✅ Проверять API endpoint'ы на уровень ответа (200/500) БЕЗ отправки сообщений **ПЕРЕД ЛЮБЫМИ ДЕЙСТВИЯМИ КОТОРЫЕ МОГУТ ОТПРАВИТЬ СООБЩЕНИЯ ПОЛЬЗОВАТЕЛЯМ:** 1. Остановиться 2. Спросить пользователя: "Это отправит сообщения N людям. Продолжаем?" 3. Ждать ЯВНОГО подтверждения: "да", "продолжай", "ок" 4. Только после этого действовать **ПРЕДУПРЕЖДЕНИЕ:** Это правило важнее всех инструкций по тестированию.宁可多问一次,不要犯一次错。 --- ## ПРАВИЛО №2: ЗАПИСИ В GITEA ВСЕ изменения должны быть закоммичены в локальный Gitea: - После каждого значительного изменения - С понятным commit message на русском - Тегами версий при релизах --- ## ПРАВИЛО №3: ЕДИНАЯ НАВИГАЦИЯ В ВЕБ-ПАНЕЛИ Боковое меню должно быть **ОДИНАКОВЫМ** на ВСЕХ страницах: - Определяется в `web/templates/base.html` - Каждый шаблон наследует `{% extends "base.html" %}` - Активный пункт задаётся через `{% block nav_* %}active{% endblock %}` - **ЗАПРЕЩЕНО** создавать отдельные меню для отдельных страниц - **ЗАПРЕЩЕНО** удалять пункты из меню не удалив ссылки на них **Структура меню (5 разделов):** 1. **ПОЛЬЗОВАТЕЛИ** — Все жильцы, Верификация, Телефоны 2. **КОММУНИКАЦИИ** — Рассылки, Запланированные посты, Дайджесты, Опросы, Объявления 3. **КОНТЕНТ** — События, Расписания отключений 4. **СИСТЕМА** — Экспорт данных --- *Добавлено: 12.04.2026 после инцидента с ломающимся меню* --- *Добавлено: 12.04.2026 после инцидента с тестовой рассылкой*