| name | automation-discipline |
| description | Автоматизация без ИИ: детерминированное и повторяемое — скриптом/CI-гейтом, а не ИИ и не глазами; ИИ остаётся для суждений. |
Skill: automation-discipline
Правило: всё, что детерминировано и повторяемо, автоматизируется инструментом, а не ИИ и не ручной проверкой. Источник истины — AGENTS.md §5 и _docs/instructions.md §13.
Когда использовать
- Замечаешь повторяющуюся ручную или ИИ-сверку (формат, синхронизация конфига/доски, наличие тестов, валидность ссылок).
- Вводишь новое инвариант-правило, которое можно выразить кодом.
- Готовишь скрипт проверки в
scripts/ или гейт в .github/workflows/test.yml.
Алгоритм
- Детерминированное — в код. Если проверку/операцию можно выразить правилом (
grep, парсинг, сравнение, прогон тестов), оформи скриптом scripts/<name>.py и/или гейтом в CI, а не полагайся на внимательность человека или ИИ.
- Сигнал к инструменту — повтор. Сделал сверку руками или попросил ИИ дважды → напиши инструмент: он быстрее, дешевле и не «забывает».
- ИИ — для суждений. Архитектура, дизайн, неоднозначные правки — да; механическая сверка, выразимая кодом, — нет.
- Гейт — источник истины. При зелёном гейте не дублируй его ИИ-проверкой; красный гейт чинится, а не маскируется.
- Инструмент — обычный код проекта. Тесты в
tests/, стиль по _docs/instructions.md §3, запуск python -m scripts.<name>, документирование в _docs/instructions.md §13 / _board/process.md.
Действующие гейты
flake8 app tests, pytest -q с порогом --cov-fail-under, scripts/check_env_sync.py (Settings ↔ .env.example), scripts/check_sprint_sync.py (plan.md ↔ файлы спринтов), scripts/check_doc_links.py (относительные ссылки в markdown). Все собраны в .github/workflows/test.yml.
Чего избегать
- Ручного или ИИ-контроля там, где уместен скрипт либо CI-гейт.
- Дублирования зелёного гейта ИИ-проверкой.
- Скрипта без теста и без записи в документации.
- «Одноразовых» ручных проверок, которые на деле повторяются из задачи в задачу.