- Publisher: пуши по одному (lock), fetch → проверка конфликта с base_sha → чистое дерево
origin/main → черновик → коммит от tgit-bot с трейлером Telegram-User → push;
отказ push → rebase и повтор (до 3 раз); защита от путей вне клона; лимит 20 пушей/час
- «💬 Сообщение коммита» (1–200 символов, первая строка ≤ 72) и «🚀 Push» с подтверждением;
исходы: запушено (sha, ссылка, ⏳ CI) · конфликт → «Перезаписать» · нечего коммитить · лимит · сбой
- запись в pushes (chat_id, message_id — для обновления статуса CI/CD в #11), черновик очищается
- ruff: RUF001–003 выключены — кириллица в текстах это норма
Refs #9
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>