Перейти к содержанию

0022 — Доказательное завершение и handoff задач

  • Дата: 2026-08-23.
  • Статус: Частично заменено решением 0032; evidence handoff запускается только в отдельном verification/production-контуре.
  • Ответственный: владелец проекта.

Контекст

В системе автономных агентов недостаточно сообщения исполнителя о том, что задача готова. Ошибочная или неполная работа может перейти к следующему агенту, стать основанием для новой реализации и увеличить стоимость исправления. Передача должна опираться на проверяемые артефакты и соответствие заранее известному объёму, а не на доверие к итоговому сообщению исполнителя.

Решение

Контракт задачи

До исполнения задача должна иметь достаточный контракт:

  • цель и границы;
  • критерии приёмки;
  • ожидаемые артефакты или наблюдаемое поведение;
  • обязательные проверки;
  • зависимости и разрешения;
  • условия, при которых задача считается заблокированной.

Если существенная часть контракта неизвестна и разумное предположение изменит объём или риск, исполнитель не объявляет готовность и запрашивает решение.

Статусы

Используется единая последовательность:

  1. IN_PROGRESS — работа выполняется.
  2. READY_FOR_VERIFICATION — исполнитель закончил свою часть и предоставил пакет доказательств. Это ещё не завершённая задача.
  3. VERIFIED — независимая проверка подтвердила критерии приёмки и объём.
  4. 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.