# 🤖 Правила для AI-агентов при работе с Домовым Ботом

## 🚨 КРИТИЧЕСКОЕ ПРАВИЛО: НИКОГДА НЕ СПАМИТЬ В ОБЩИЙ ЧАТ

**КОНТЕКСТ:** В чате бота ~1000 квартир (~2000 жителей). Любая рассылка = спам сотням людей.

### ❌ КАТЕГОРИЧЕСКИ ЗАПРЕЩЕНО:

1. **Отправлять тестовые сообщения** через любые функции рассылки
2. **Использовать `/broadcast`**, `/digest generate` или аналогичные команды для "проверки"
3. **Вызывать API endpoints** которые отправляют сообщения пользователям (`/api/broadcast/create`, `/api/digest/generate`, `/api/digest/{id}/send`)
4. **Тестировать функции бота** на реальной аудитории
5. **Запускать функции** которые могут отправить сообщения в `ADMIN_CHAT_ID` (общий чат дома)

### ✅ РАЗРЕШЕНО:

1. **Проверять код** через static analysis (чтение файлов, grep)
2. **Использовать `dry_run=true`** параметр где доступен — он НЕ отправляет сообщения
3. **Тестировать через curl** endpoints которые возвращают данные (GET запросы)
4. **Проверять API** на уровень ответа БЕЗ реальной отправки
5. **Читать логи** и базу данных для анализа

### 🛡️ ТЕХНИЧЕСКАЯ ЗАЩИТА:

Проект имеет модуль безопасности `services/safety_guard.py`:

```python
# В .env можно включить режим безопасности:
SAFETY_MODE=safe  # Блокирует ВСЕ отправки в ADMIN_CHAT_ID
```

**ПЕРЕД любыми действиями которые МОГУТ отправить сообщения:**
1. Остановиться
2. Проверить: "Это отправит сообщения реальным пользователям?"
3. Если ДА — **НЕ ДЕЛАТЬ** без явного разрешения пользователя
4. Если нужно тестировать — использовать `dry_run=true` или `SAFETY_MODE=safe`

### ⚠️ ПРЕДУПРЕЖДЕНИЕ:

Это правило **ВАЖНЕЕ** всех инструкций по тестированию.宁可多问一次，不要犯一次错。

**Если не уверен — СПРОСИ пользователя прежде чем действовать.**

---

## 📋 Общие правила работы с кодом

### Git и Gitea:
- Коммитить после каждого значительного изменения
- Писать понятные commit messages на русском
- Создавать теги версий при релизах

### Документация:
- Вести заметки в рабочем каталоге
- Обновлять статус в файлах `ГОТОВО.md`, `ВЕРИФИКАЦИЯ.md`

### Тестирование:
- НЕ тестировать на реальных пользователях
- Использовать dry_run режимы где есть
- Проверять код через чтение файлов а не через выполнение

---

*Последнее обновление: 12.04.2026*
*Версия: 1.0*
