8.8 KiB
8.8 KiB
Протокол 05: Передача исполнительному агенту (HANDOFF)
Цель
Подготовить и передать исполнительному агенту полный контекст для работы: задачи, окружение, правила.
Вход
.agent/analysis-report.md.agent/design-report.md(опционально, для greenfield).agent/layer-1/adr/*.md(опционально).agent/layer-1/risk-register.md(опционально).agent/layer-1/red-team-report.md(опционально).agent/task-manifest.json.agent/task-manifest.md.agent/baseline-test-report.log.agent/checkpoints.json(все предыдущие фазы: completed)
Шаги
5.1. Архивация завершённых артефактов
Перед валидацией и передачей выполнить архивирование.
Архивировать завершённые задачи:
Для каждой задачи в task-manifest.json со статусом completed:
- Создать
.agent/archive/tasks/<id>.json— перенести полное описание задачи (все поля) - В
task-manifest.jsonзаменить задачу на one-liner:{ "id": "<id>", "title": "<title>", "status": "archived" }
Архивировать чекпоинты:
Если checkpoints.json уже существует — сохранить предыдущую версию в .agent/archive/checkpoints/<last_updated>.json.
Создать индекс архива:
{
"version": "1.1.0",
"archived_at": "<timestamp>",
"tasks": [
{ "id": "T1", "title": "...", "archived_at": "<timestamp>" }
],
"checkpoints": [
{ "file": "checkpoints/2026-07-15T10-00-00.json", "archived_at": "<timestamp>" }
]
}
5.2. Валидация
Перед передачей проверить:
- Все фазы отмечены как
completedв checkpoints.json .agent/содержит все обязательные файлы:checkpoints.jsonanalysis-report.mdtask-manifest.json+task-manifest.mdbaseline-test-report.logsetup-report.logsrc/META_AGENT_GUIDE.mdsrc/BOUNDARIES.mdsrc/VERSIONsrc/PROTOCOLS/src/TEMPLATES/rules/project-rules.mdarchive/index.json
- Для greenfield:
design-report.mdприсутствует - В task-manifest.json нет циклических зависимостей
- Все acceptance criteria сформулированы измеримо
- Для каждой задачи указаны affected files
- В репозитории нет незакоммиченных изменений (кроме
.agent/) .agent/src/содержит актуальные исходники MetaAgent (META_AGENT_GUIDE.md, PROTOCOLS/, TEMPLATES/, BOUNDARIES.md, VERSION)AGENTS.mdприсутствует в корне репозитория.agent/rules/содержитproject-rules.md
Дополнительные проверки (если config включает):
- ADR присутствуют (если adr=yes)
- Risk Register заполнен (если risk_register=yes)
- Red Team Report есть (если red_team=yes)
- Invariant-задачи в манифесте (если invariant_tests=yes)
5.3. Layer-структура .agent/
Если config.layer_structure = yes, организовать артефакты по слоям:
.agent/
layer-0/
checkpoints.json # всегда (ядро)
session-summary.md # краткая сводка сессии (создаётся здесь)
layer-1/
adr/ # ADR (опционально)
risk-register.md # (опционально)
red-team-report.md # (опционально)
layer-2/
analysis-report.md
design-report.md
design-report.md
layer-3/
handoff-summary.md
task-manifest.json
task-manifest.md
baseline-test-report.log
setup-report.log
Если layer_structure = no — артефакты остаются плоскими в .agent/, как раньше.
5.4. Создать handoff-summary.md
Заполнить по шаблону TEMPLATES/handoff-summary.md:
- Session Info — ID, цель, дата
- Configuration — какие функции были включены, глубина
- Repo Summary — краткая выжимка из analysis-report
- Environment Status — результат сборки и тестов
- Design Summary (если есть design-report) — ключевые архитектурные решения
- ADR Summary (если adr=yes) — какие решения задокументированы
- Risk Register (если risk_register=yes) — основные допущения
- Task Overview — количество задач, типы, список
- Next Steps — с какой задачи начинать исполнительному агенту
- Project Rules — ссылка на
.agent/rules/project-rules.md(передаётся exec-агенту) - Archive — ссылка на
.agent/archive/index.json(история завершённых задач) - Caveats — известные проблемы, ограничения, неясные моменты
- Checkpoints — актуальное состояние чекпоинтов
5.5. Финализировать checkpoints
- Отметить
phases.handoff = "completed" - Записать финальный
last_updated
5.6. Сигнал
Сообщить пользователю/оркестратору:
HANDOFF COMPLETE
Session: <session_id>
Target: <target_repo>
Type: <existing | greenfield | scaffold>
Config: depth=<N>, adr=<yes|no>, red_team=<yes|no>, ...
Tasks: <count> tasks ready
Исполнительный агент может начинать с задачи <T1>.
Контекст: .agent/handoff-summary.md
Манифест: .agent/task-manifest.json
Что получает исполнительный агент
- Целевой репозиторий — полностью настроенный, с установленными зависимостями
.agent/— директория со всеми артефактами (layer-структура или плоская)task-manifest.json— машиночитаемый список задачtask-manifest.md— человекочитаемый список задачhandoff-summary.md— итоговая сводкаcheckpoints.json— актуальное состояние (исполнительный агент будет его обновлять)layer-1/adr/*.md(опционально) — ключевые решенияlayer-1/risk-register.md(опционально) — допущенияlayer-2/analysis-report.md— полный анализ репозитория (справочно)layer-2/design-report.md(только для greenfield) — архитектурный планlayer-3/baseline-test-report.log— baseline тестов (чтобы не сломать существующее).agent/src/— полные исходники MetaAgent (справочно, всегда присутствуют).agent/rules/— пользовательские правила проектаAGENTS.md— инструкция для AI-агента в корне проекта (всегда присутствует).agent/archive/— архив завершённых задач, чекпоинтов и устаревших артефактов
Выход
.agent/layer-0/session-summary.md(если layer_structure=yes).agent/layer-3/handoff-summary.md.agent/layer-0/checkpoints.json(финальный).agent/archive/index.json(создаётся при архивации)
Критерии завершения
- Все артефакты на месте (с учётом layer-структуры)
.agent/src/содержит актуальные исходники MetaAgent.agent/rules/содержитproject-rules.mdAGENTS.mdприсутствует в корне репозитория.agent/archive/index.jsonсоздан, завершённые задачи архивированы- handoff-summary.md заполнен (включая config, design summary, ADR summary, archive)
- checkpoints.json финализирован
- Сигнал отправлен пользователю/оркестратору