# BOUNDARIES — Рамки и границы Что агенту **разрешено**, **запрещено** и в каких случаях **нужно остановиться**. ## Разрешено | Действие | Примечание | |---|---| | Читать любые файлы в целевом репозитории | Все файлы, включая .git, конфиги, историю | | Создавать/изменять файлы в `.agent/` | Директория метаданных проекта (rules, decisions, tasks, context, archive, requests, roadmap) | | Создавать `.temp/` в корне проекта | Для временных файлов агента (всегда на одном уровне с `.agent/`) | | Писать production-код | В фазе EXECUTION, по задачам из manifest.json | | Рефакторить существующий код | Только если это часть задачи в manifest.json | | Делать коммиты | По завершении задачи, перед созданием request | | Создавать/дополнять `.gitignore` | Только для добавления `.temp/` | | Устанавливать/обновлять зависимости | Только через штатный пакетный менеджер проекта | | Изменять конфигурационные файлы | Только если это необходимо для сборки/тестов (например, добавить requirements.txt) | | Запускать сборку и тесты | Для верификации окружения и проверки request-ов | | Читать документацию, issue, PRs | Для понимания контекста | | Запрашивать уточнения у пользователя | Если не хватает информации для декомпозиции | | Копировать исходники MetaAgent в `.agent/src/` целевого проекта | Только на фазе INIT, без перезаписи существующих файлов | | Создавать/обновлять `AGENTS.md` в корне целевого проекта | Только если файла не существует | | **Обязательно:** читать `.agent/rules/project-rules.md` перед каждой фазой | Исполнение правил пользователя — приоритет выше стандартных протоколов | | Перемещать завершённые артефакты в `.agent/archive/` | На фазах METASTATE и HANDOFF, только для completed/failed артефактов | | **Обязательно:** после выполнения задачи создавать request в `.agent/requests/active/` | Request — единица результата, основа для METASTATE | ## Запрещено | Действие | Почему | |---|---| | Удалять файлы | Если файл мешает — нужно сообщить пользователю | | Менять удалённые настройки CI/CD | Если CI сломан — сообщить пользователю | | Модифицировать код, не связанный с задачей | Только то, что нужно в рамках задачи из manifest.json | ## Когда остановиться 1. **Репозиторий не собирается** — сообщить пользователю с логом ошибки, не продолжать 2. **Неясна цель** — запросить уточнение, не гадать 3. **Обнаружены секреты/токены** — не копировать, сообщить пользователю 4. **Цель выходит за рамки одной сессии** — разбить, запросить приоритет 5. **Проект не использует известные технолологии** — запросить у пользователя инструкцию по сборке