0022 — Доказательное завершение и handoff задач¶
- Дата: 2026-08-23.
- Статус: Частично заменено решением 0032; evidence handoff запускается только в отдельном verification/production-контуре.
- Ответственный: владелец проекта.
Контекст¶
В системе автономных агентов недостаточно сообщения исполнителя о том, что задача готова. Ошибочная или неполная работа может перейти к следующему агенту, стать основанием для новой реализации и увеличить стоимость исправления. Передача должна опираться на проверяемые артефакты и соответствие заранее известному объёму, а не на доверие к итоговому сообщению исполнителя.
Решение¶
Контракт задачи¶
До исполнения задача должна иметь достаточный контракт:
- цель и границы;
- критерии приёмки;
- ожидаемые артефакты или наблюдаемое поведение;
- обязательные проверки;
- зависимости и разрешения;
- условия, при которых задача считается заблокированной.
Если существенная часть контракта неизвестна и разумное предположение изменит объём или риск, исполнитель не объявляет готовность и запрашивает решение.
Статусы¶
Используется единая последовательность:
IN_PROGRESS— работа выполняется.READY_FOR_VERIFICATION— исполнитель закончил свою часть и предоставил пакет доказательств. Это ещё не завершённая задача.VERIFIED— независимая проверка подтвердила критерии приёмки и объём.ACCEPTED_FOR_HANDOFF— координатор принял доказательства и может передать результат следующему агенту или этапу.
При проблеме используется REJECTED с конкретным несоответствием либо BLOCKED с подтверждённой внешней причиной. Статус PARTIALLY_VERIFIED не разрешает handoff как завершённой задачи.
Пакет доказательств¶
Исполнитель передаёт:
- ссылку или путь к фактическим артефактам;
- матрицу «критерий приёмки → доказательство → результат»;
- выполненные команды и краткий проверяемый итог без подмены полным выводом;
- поведенческие свидетельства, если задача меняет runtime или UI;
- список пропущенных проверок и влияние пропуска;
- известные ограничения, ошибки и остаточный риск;
- способ воспроизвести ключевую проверку.
Исторический результат проверки допустим только если затронутая область не изменилась и это доказано diff/scope-анализом. Нельзя выдавать старый успешный тест за проверку нового изменения.
Независимая проверка¶
- Самопроверка исполнителя обязательна, но сама по себе не разрешает handoff.
- Проверяющий получает исходный контракт, артефакты и пакет доказательств, но самостоятельно сопоставляет их с критериями и при необходимости повторяет применимые проверки.
- Для обычной низкорисковой задачи независимость может обеспечиваться координатором и детерминированными проверками CI.
- Для критической или сложной задачи требуется отдельный
testerи/илиreviewer; автор изменения не является единственным проверяющим. - Проверяющий не исправляет найденный дефект под видом проверки, если исправление не было ему отдельно поручено. Результат возвращается исполнителю с точным несоответствием.
- Координатор не принимает финальное сообщение подчинённого агента как доказательство без проверки файлов, diff, тестов или другого наблюдаемого результата.
Handoff gate¶
- Следующий агент не начинает зависимую работу на основании
READY_FOR_VERIFICATION. - Передача разрешена только после
VERIFIEDи решения координатораACCEPTED_FOR_HANDOFF. - Если объективная проверка невозможна, задача получает
BLOCKED, а не условное завершение. - Внешний deploy, merge, публикация или другое опасное действие по-прежнему требует отдельного разрешения, даже если задача получила
VERIFIED.
Пропорциональные доказательства¶
| Тип работы | Минимальный вид доказательства |
|---|---|
| Документация | diff, согласованность источников истины, ссылки, secret/size checks |
| Backend/API | unit/integration, contract/OpenAPI, негативные сценарии и permissions |
| Frontend/UI | build, component/E2E, browser behavior, visual check при визуальном изменении |
| База данных | migration up, инварианты, изоляция, restore/rollback по риску |
| Инфраструктура | config validation, health/smoke, идентификатор артефакта и rollback |
| Skill/процесс агента | структурная валидация, trigger tests, реалистичный dry-run и review границ |
Полный порядок и шаблон определены в docs/AGENT_WORKFLOW.md.
Последствия¶
- Время на проверку увеличивается, но неполная работа не становится входом следующего этапа.
- Оркестратор отвечает не только за маршрутизацию, но и за наличие доказательного gate.
- Отчёты агентов становятся сопоставимыми и проверяемыми.
- Результат без достаточного доказательства честно остаётся незавершённым.
Откат или замена¶
Разрешение handoff только по заявлению исполнителя, отказ от независимой проверки критической задачи или смешение READY_FOR_VERIFICATION с VERIFIED требует нового ADR.