domovoy_bot/КРИТИЧЕСКИЕ-ПРАВИЛА.md
Admin 07d7a51f10 🚨 fix: Критические исправления рассылок
- Глобальный синглтон бота (bot_instance.py) — работает из любого процесса
- Прямые HTTP запросы в send_smart_broadcast — нет ошибки Timeout context
- Исправлен joinedload в InitiativeGroupService
- Удалён дубликат route /broadcast
- Удалена страница /broadcasts — всё в одном месте с табами
- Удалён /api/broadcast/send — дублировал /api/broadcast/create
- Добавлен dry_run режим для тестирования без отправки
- Двойное подтверждение перед реальной рассылкой
- Добавлен файл КРИТИЧЕСКИЕ-ПРАВИЛА.md

Инцидент: тестовая рассылка ушла реальным пользователям

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

37 lines
2.2 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 на русском
- Тегами версий при релизах
---
*Добавлено: 12.04.2026 после инцидента с тестовой рассылкой*