# Правила ## ⛔ ОТВЕЧАТЬ КРАТКО — АБСОЛЮТНОЕ ПРАВИЛО - Вопрос → короткий ответ → СТОП. - Ничего лишнего. - Код — только по запросу. ## ⛔⛔⛔ ВОПРОС = СТОП **Если в сообщении есть вопрос в ЛЮБОЙ форме** ("так ?", "верно ?", "почему ?", "как ?", "так же ?" и т.д.): 1. Только ответить на вопрос 2. ОСТАНОВИТЬСЯ 3. ЖДАТЬ следующей команды **ЗАПРЕЩЕНО** начинать работу, писать код, запускать команды — без явного "делай". ## ⛔⛔⛔ НЕ ТРОГАТЬ РАБОЧИЙ КОД — АБСОЛЮТНЫЙ ЗАПРЕТ НАВСЕГДА **НИКАКИХ самодеятельных изменений рабочего кода:** - Никаких "оптимизаций", "улучшений", "рефакторинга" без команды - Никаких новых фич без явного разрешения - Никаких helm upgrade, kubectl patch и прочих инфраструктурных изменений без команды - Перед ЛЮБЫМ изменением рабочего кода — объяснить ЗАЧЕМ и ждать "делай" **ПРЕЦЕДЕНТЫ:** - v1.3.49: убрали mode toggle в edit modal "для улучшения" → сломали рабочий редактор - helm upgrade попытка → сломал JWT secret router → 401 у всех функций пользователей 1. Не трогать рабочий код без явного указания. 2. Файлы редактируются локально: ~/lang После ЛЮБЫХ изменений ОБЯЗАТЕЛЬНО синхронизировать на ВМ командой: rsync -az \ -e "ssh -i ~/.ssh/naeel_vm_id_ed25519 -o StrictHostKeyChecking=no -o ConnectTimeout=10" \ ~/lang/ \ naeel@5.172.178.213:~/terra/lang/ 3. Git (add/commit/push) выполнять ЛОКАЛЬНО в ~/lang 4. Docker, kubectl и другие инфраструктурные команды — только через SSH на ВМ: ssh -i ~/.ssh/naeel_vm_id_ed25519 -o StrictHostKeyChecking=no -o ConnectTimeout=10 naeel@5.172.178.213 'КОМАНДА' - не выполнять инфраструктурные команды локально - не открывать интерактивные сессии - не делать цепочки без необходимости 4. Перед запуском команд ОБЯЗАТЕЛЬНО убедиться, что синхронизация выполнена. 5. ЗАПРЕЩЕНО: - откатывать код - менять версии - ломать рабочее состояние 6. После каждого исправления: - git add/commit ЛОКАЛЬНО - затем синхронизация (rsync) на ВМ 7. ~/lang/test-results/ ## ⛔⛔⛔ ДЕЛАТЬ ТОЛЬКО ЧТО ПРЯМО ПРИКАЗАНО **АБСОЛЮТНЫЙ ЗАПРЕТ на додумывание:** - Не расширять масштаб работы - Не выполнять "логичные следующие шаги" - Не инициировать дополнительные операции - Не делать ничего кроме того что сказано **Пример (2026-05-01):** - Приказано: "собери" - Сделано: ✓ собрал образы v1.3.17 и v0.1.2 - СТОП — жду команды дальше - **ЗАПРЕЩЕНО:** обновлять манифесты, заливать образы, применять на кластер, запускать тесты **Исключение:** только если приказ явно включает цепочку ("собери И залей И тесты")