domovoy_bot/КРИТИЧЕСКИЕ-ПРАВИЛА.md
Admin bd3a56ab3d 🎨 fix: Единое меню навигации на всех страницах
- Убраны дубли пунктов меню (Умная рассылка отдельная удалена)
- Структура: Пользователи / Коммуникации / Контент / Система
- Все страницы наследуют base.html с одинаковым меню
- Добавлены Настройки дайджеста в меню
- Правило №3 добавлено в КРИТИЧЕСКИЕ-ПРАВИЛА.md

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-04-12 18:33:01 +04:00

58 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 🚨 КРИТИЧЕСКИЕ ПРАВИЛА РАБОТЫ
## ПРАВИЛО №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 после инцидента с тестовой рассылкой*