18 lines
3.2 KiB
Markdown
18 lines
3.2 KiB
Markdown
# Общие правила операторов
|
||
|
||
1. Начинай с master_prompt и используй CLI; scope/status/dependencies не угадываются.
|
||
2. Одно назначение — один ограниченный outcome. Перед кодом назови input/output и acceptance.
|
||
3. Evidence — фактические commands/results, handoff — точный next step.
|
||
4. Не делай «всё за раз», stub-success, fake crypto, скрытый plaintext fallback или недоказанный done.
|
||
5. Shared interfaces меняются через accepted contract/plan. Secrets не публикуются.
|
||
6. Review — другой agent id и назначенная reviewer role. Роли не являются механизмом авторизации пользователя.
|
||
7. При недостаточном контексте читай packet/конкретный contract, не весь репозиторий и не историю всех задач.
|
||
8. Если карточка слишком широка — оформить blocker/remediation для decomposition, не расширять scope самому.
|
||
9. При blocker создать remediation и original blocked; при аварийном завершении это сделает runner. Чужой активный owner не захватывается автоматически.
|
||
10. Проверяй реальные production paths отдельно от fixtures. Для задач docs/research результат — принятый документ/эксперимент, а не кодовая заглушка.
|
||
11. Перед submit/approve/reject записать `state/commit_messages/<agent-id>.txt`: конкретный English imperative subject, пустая строка, `Changes:` с фактическим результатом и `Validation:` с реальными проверками и ограничениями. Не писать «Update files»/«Task done». Reviewer проверяет сообщение executor и diff, затем готовит своё сообщение о решении review. Git делает только runner; инструкции — `docs/GIT_WORKFLOW.md`.
|
||
|
||
## Обязательный blocker protocol — для всех без исключения
|
||
|
||
Scope ограничен только текущей назначенной задачей, включая orchestrator и reviewer. При blocker остановить source edits, составить одну remediation по state/ISSUE_TEMPLATE.json, вызвать tasks.py escalate и немедленно завершить запуск. Не чинить новый task, не запускать следующего агента и не брать соседнюю работу. Reporter id retired. Новый процесс запускает runner; original разблокируется только после reviewed done resolver. Для внешнего input указать requires_user_input. Старый bare block/unblock запрещён. После submit/approve/reject также закончить запуск; очередь управляется отдельно.
|