Политика проекта
Правила постановки задач, отчётов и приёмки, которые проект задаёт для всех агентов.
Политика проекта хранится в облаке, и агент читает её инструментом get_policy перед работой. Журнал сам ничего не оценивает и не навязывает методологию: он записывает события и проверяет только допустимость переходов между статусами. Всё остальное — что должно быть в задании, что считать отчётом, когда можно принять работу — политика, то есть данные, которые вы задаёте для проекта или всего пространства.
Из чего состоит политика
Два правила, которые проверяет сервер. Нарушение отклоняется, действие не записывается:
accept_requires_evidence— принять задачу можно только с доказательством: хэшем коммита, ссылкой на прогон CI или выводом тестов. Вызовacceptбезevidenceвернёт отказ.draft_requires_artifact— поставить задачу можно только при готовом артефакте с заданным заголовком, напримерProject baseline: {project}. Подстановка{project}заменяется именем проекта. Пока такого артефакта в журнале нет,draft_taskотклоняется.
Четыре текста-инструкции для агента. Сервер их не проверяет, а передаёт агенту: каждый текст приклеивается к описанию инструмента своего шага.
| Шаг | К какому инструменту приклеивается | О чём текст |
|---|---|---|
| Постановка | draft_task | Что должно быть в задании |
| Делегирование | delegate | Что передать исполнителю |
| Отчёт | submit_report | Что должно быть в отчёте |
| Приёмка | accept | Как проверять и что считать доказательством |
Тексты пишутся по-английски, потому что их читают агенты любых производителей. Каждый стоит держать короче полутора тысяч символов: он попадает в контекст каждой сессии.
Кроме правил у политики есть имя, которое агент видит строкой «Правила политики», и описание для людей — оно в список политик, а агенту не уходит.
Встроенные политики
В облаке есть три готовые политики, ни одна не «рекомендуемая». Их нельзя изменить, но можно взять за основу.
| Название | Что требует |
|---|---|
| Журнал без правил | Ничего: журнал только записывает. Так работает проект, пока политика не задана. |
| Приёмка по доказательству | Одно правило: принято значит подтверждено тем, что можно проверить. Остальное свободно. |
| Полная дисциплина | Доказательство при приёмке, готовый артефакт Project baseline: {project} перед постановкой задачи, собственный полный прогон и приёмка через слияние. Ноль доверия отчёту исполнителя. |
Где задаётся
Откройте «Настройки», вкладку «Агенты», раздел «Политики журнала». Там три группы:
- Используется здесь — действующая политика пространства;
- Встроенные — три готовые;
- Мои — ваши: «Создать с нуля» или «Импорт из JSON».
Выбор политики из списка не применяется сразу. Облако показывает, что изменится для агентов: «Что изменится» сравнивает действующую политику с выбранной по правилам и по текстам. Прикрепить политику может владелец или администратор, прочие участники только смотрят. У каждой карточки в меню есть «Предпросмотр», «Изменить» (для ваших), «Взять за основу», «Экспорт JSON» и «Скачать SKILL.md» — готовый скилл с правилами политики для агента.
Прикреплённая политика уезжает в журналы всех участников: агент получает её при запуске и при каждом sync и проверяет при записи событий.
Что делает агент
get_policy { project: "shop" }Ответ — действующая политика и её источник: workspace:<slug> (политика пространства), project (политика, заданная для проекта локально), default или lenient. Если проект привязан к пространству облака, действует только политика пространства. Короткая версия правил уже встроена в описания инструментов, поэтому агент видит их, даже не вызывая get_policy.
Без облака политика задаётся локально:
set_policy { project: "shop", policy: { schemaVersion: 1, name: "Приёмка по доказательству",
description: "Принято значит подтверждено.",
enforce: { accept_requires_evidence: true, draft_requires_artifact: null },
guidance: { draft: "State what must be true when the task is done.", delegate: "",
report: "Say what was verified and how: commands and output.",
accept: "Accept only with evidence you produced or inspected yourself." } } }Вызов без project задаёт политику по умолчанию для всех локальных проектов, вызов с project переопределяет её для одного. Файл политики лежит рядом с базой журнала.
Пример: отказ без доказательства
При включённом правиле о доказательстве:
accept { task_id: "shop/2026-11-03-csv-export" }
→ отказ: политика «Приёмка по доказательству» требует подтверждение приёмки: передай evidence
accept { task_id: "shop/2026-11-03-csv-export", evidence: "Коммит 4f3e8f2, тесты 312/312" }
→ задача принятаЧто дальше
- Как проверяют работу: Приёмка.
- Кто и как читает политику в цикле: Скиллы цикла.
- Параметры инструментов: Справочник MCP.