2cbfd38aa8
Require ROADMAP-based execution profiles and provide explicit model and reasoning settings for implementation, architecture, UI and mechanical tasks. Co-Authored-By: Codex <noreply@openai.com>
9.7 KiB
9.7 KiB
Правила для агента
Перед работой прочитай:
- docs/PRINCIPLES.md — основные принципы: что такое редактор, что в нём делается и куда уходит результат. При противоречии с планом главнее принципы.
- docs/STATUS.md — что сделано, что не проверено и что делать дальше. Обнови этот файл, когда закончишь шаг.
- docs/ROADMAP.md — обязательная таблица моделей и правила автоматической передачи задач.
Автоматический выбор модели
Владелец разрешил и требует автоматически выбирать модель по этапу и типу работы.
Не спрашивай разрешение на каждую передачу задачи. Перед существенной работой найди строку
в разделе 6.1 ROADMAP и выбери указанные модель и reasoning effort. Если этап не определён,
применяй таблицу сквозных задач; по умолчанию — gpt-6.1-sol, high.
- Если текущая модель и effort достоверно совпадают с назначением, выполняй задачу сам. Иначе делегируй её через доступный инструмент подагентов с явными моделью и effort. Не считай, что текстовая инструкция меняет модель уже запущенного чата.
- Профили проекта находятся в
.codex/agents/. Если инструмент не поддерживает имена профилей, передавай ихmodelиmodel_reasoning_effortявными параметрами запуска. Дляcollaboration.spawn_agentэтоmodel,reasoning_effort,fork_turns="none"; полное наследование истории в этом инструменте не допускает переопределения модели. - Передай исполнителю цель, этап, границы разрешённых изменений, файлы, текущее состояние, критерии готовности, проверки и обязательные документы. Укажи выбранную модель/effort как параметры назначения, не проси модель угадывать собственную идентичность.
- Назначенный исполнитель не повторяет маршрутизацию и не создаёт цепочку таких же подагентов. При необходимости более сильной модели возвращает координатору конкретную причину и результаты. Координатор выбирает следующего исполнителя по ROADMAP.
- Один файл одновременно изменяет один исполнитель. Зависимые этапы выполняются последовательно; независимые задачи можно делегировать параллельно в пределах лимитов среды. Координатор проверяет результат и завершает общую задачу.
- Если модель или механизм подагентов недоступны, явно сообщи ограничение и выбранный доступный вариант, продолжи допустимую работу. Не утверждай, что переключение состоялось, не обходи ограничения среды и не меняй глобальные настройки пользователя.
- Telegram-уведомление отправляет только координатор после завершения общей задачи, не каждый подагент. Выбор модели не меняет разрешения на БД, коммиты и публикацию.
Сборка и проверки
cargo fmt --all
cargo clippy --workspace --all-targets -- -D warnings
cargo test --workspace
Перед коммитом все три команды должны пройти. Проверяй результат каждой: &&-цепочка с
grep проглатывает код выхода.
Проверка окна без мыши
Окно можно проверить по логу и снимку кадра. Переменные окружения:
| Переменная | Что делает |
|---|---|
EDITOR_SHOT=<png> |
Сохраняет кадр и закрывает окно. Перед этим пишет в лог строку EDITOR_SHOT … с положением камеры, точкой под центром экрана и состоянием превью. |
EDITOR_SHOT_AT=<сек> |
Когда снимать (по умолчанию 25; миру нужно время подгрузиться). |
EDITOR_SHOT_DIST=<ярды> |
Расстояние камеры до точки --at под 45° (по умолчанию 25). |
EDITOR_SHOT_VIEW=x,y,z;tx,ty,tz |
Фиксированное положение камеры и точка взгляда в координатах WoW для воспроизведения кадра. При EDITOR_SHOT пользовательский ввод не двигает диагностическую камеру. |
EDITOR_SHOT_SWEEP=1 |
Плавное вращение диагностической камеры вокруг точки взгляда для проверки согласованности геометрии. |
EDITOR_PROBES=x,y,z;… |
Луч вниз с высоты +3 ярда над каждой точкой. Пишет в лог EDITOR_PROBE … hit_z dz. |
EDITOR_SHOT_SEARCH=<текст> |
Запрос в каталоге. |
EDITOR_SHOT_SELECT=<guid> |
Выбранный спавн. |
EDITOR_SHOT_DIALOG=export|quit |
Окно открывается с вопросом об экспорте или о несохранённых изменениях. |
Пример: EDITOR_SHOT=shot.png EDITOR_SHOT_DIST=8 cargo run -p editor-app -- p.json --at -8935,-129.5,84.
Снимок открывается инструментом чтения изображений.
Правила
- Benilla закреплён. Переход на новый коммит Benilla — отдельный коммит: обновить
BENILLA_REV, собрать, прогнать проверки и замеры на WMO (Крепость Штормграда-8439.98,329.392,122.579, Башня магов-9010.78,876.575,148.702). Не правь../benilla: это чужой рабочий репозиторий. API Benilla не стабилен (../benilla/docs/CONTRIBUTING.md). - Ядро vMaNGOS (
/home/sindo/core, WSL) — репозиторий владельца, рабочая веткаdevelopment. Не коммить туда без явной просьбы. Тестовые миграции убирай изsql/content/migrations, тестовые строки — из локальной БД. - Локальная БД. Контейнер можно запускать:
wsl -e bash -lc 'cd /home/sindo/core/deploy/local && ./compose.sh up -d db'. Записывать в неё можно только миграциями и только в тестах, за которыми ты потом убираешь. Для изоляции SQL-теста используй явный DDL временных таблиц: MariaDB может отклонитьCREATE TEMPORARY TABLE name LIKE schema.nameпри совпадении имён. Не используй--forceдля продолжения после ошибок подготовки; проверяй неизменность постоянных таблиц. - Секреты. Пароль БД хранится в пользовательском профиле; старый
.envgit игнорирует. Не печатай его и не коммить. - Стиль. Комментарии и сообщения коммитов на английском, в духе существующего кода: объясняют «почему», ссылаются на функции ядра или клиента. Подписи интерфейса на русском.
- Коммиты — небольшие, по одному шагу. В конце сообщения строка
Co-Authored-By:с именем агента.
Особенности окружения (Windows + Git Bash + WSL)
- Git Bash переписывает аргументы вида
/home/...вwsl. Перед такими вызовами ставьMSYS_NO_PATHCONV=1. - Пути к Windows-файлам для
.exeпиши какC:/..., не/c/.... - В heredoc через инструмент Bash обратные слэши могут схлопнуться. Пути с
\\wsl.localhostпиши через файл или инструмент редактирования. - В
.envпути с обратными слэшами заключай в одинарные кавычки, иначе dotenvy не разберёт.