Понять, что схемы — это контракты между агентами, а не просто JSON-файлы. После этой главы вы будете знать назначение каждой из 20 схем и где искать ключевые поля.
Schema (schemas/*.json) — это JSON Schema (draft 2020-12), фиксирующий структуру выхода или payload-а одного агента. Схемы выполняют три функции:
- Контракт — agent A знает, какие поля придут от agent B.
- Документация — каждое поле имеет
description. - Eval-фикстура —
validate.mjsсверяет реальные сценарии и шаблоны со схемами.
Важно: агенты не выводят raw JSON в чат. Схема — это форма мышления и контракт, но в чате агенты выдают структурированный текст. JSON фигурирует только в eval-фикстурах и при формальных payload-ах между инструментальными вызовами.
| # | Файл | Эмиттер | Назначение |
|---|---|---|---|
| 1 | clarification-request.schema.json |
Любой acting subagent | Payload при NEEDS_INPUT (общий шаблон) |
| 2 | orchestrator.delegation-protocol.schema.json |
Orchestrator | Контракт делегирования subagent-у |
| 3 | orchestrator.gate-event.schema.json |
Orchestrator | Gate-event при переходах состояний |
| 4 | planner.plan.schema.json |
Planner | Полный план с фазами, рисками, contracts, handoff |
| 5 | code-mapper.discovery.schema.json |
CodeMapper-subagent | Discovery report |
| 6 | researcher.research-findings.schema.json |
Researcher-subagent | Findings с цитатами |
| 7 | plan-auditor.plan-audit.schema.json |
PlanAuditor-subagent | Audit verdict (APPROVED/NEEDS_REVISION/REJECTED/ABSTAIN) |
| 8 | assumption-verifier.plan-audit.schema.json |
AssumptionVerifier-subagent | Mirage-detection report |
| 9 | executability-verifier.execution-report.schema.json |
ExecutabilityVerifier-subagent | Cold-start report |
| 10 | core-implementer.execution-report.schema.json |
CoreImplementer-subagent | Backend impl report |
| 11 | ui-implementer.execution-report.schema.json |
UIImplementer-subagent | Отчёт об имплементации UI (доступность/адаптивная вёрстка) |
| 12 | platform-engineer.execution-report.schema.json |
PlatformEngineer-subagent | Infra report (approvals, rollback, health) |
| 13 | technical-writer.execution-report.schema.json |
TechnicalWriter-subagent | Docs report (parity, diagrams) |
| 14 | browser-tester.execution-report.schema.json |
BrowserTester-subagent | E2E report (scenarios, accessibility) |
| 15 | code-reviewer.verdict.schema.json |
CodeReviewer-subagent | Review verdict (validated_blocking_issues) |
| 16 | skill-proposal.schema.json |
Любой acting subagent | Заявка на кандидат-паттерн (подтверждается человеком перед промоушеном) |
| 17 | runtime-policy.schema.json |
Governance config | Схема для валидации governance/runtime-policy.json |
| 18 | spec-capture.schema.json |
Planner | Compact spec-before-plan artifact |
| 19 | research-brief.schema.json |
Researcher-subagent | Compact research handoff с ranked options |
| 20 | code-context-pack.schema.json |
CodeMapper-subagent | Compact code map для bounded executor context |
Note: 14 agent output схем + 3 shared/config схемы (
clarification-request,skill-proposal,runtime-policy) + 3 compact artifact схемы = 20 файлов.
flowchart LR
subgraph Coord["Координация"]
OG[orchestrator.gate-event]
OD[orchestrator.delegation-protocol]
CL[clarification-request]
end
subgraph Plan["Планирование"]
PL[planner.plan]
SC[spec-capture]
end
subgraph Disc["Разведка"]
CM[code-mapper.discovery]
RR[researcher.research-findings]
RB[research-brief]
CC[code-context-pack]
end
subgraph Rev["Ревью плана"]
PA[plan-auditor.plan-audit]
AV[assumption-verifier.plan-audit]
EV[executability-verifier.execution-report]
end
subgraph Exec["Исполнение"]
CI[core-implementer.execution-report]
UI[ui-implementer.execution-report]
PE[platform-engineer.execution-report]
TW[technical-writer.execution-report]
BT[browser-tester.execution-report]
end
subgraph PostRev["Пост-ревью"]
CR[code-reviewer.verdict]
end
subgraph Meta["Мета / Конфиг"]
SP[skill-proposal]
RP[runtime-policy]
end
Самая «толстая» и важная. Обязательные поля верхнего уровня:
schema_version(1.2.0)agent(Planner)status(READY_FOR_EXECUTION/ABSTAIN/REPLAN_REQUIRED)task_title,summary,confidence(0–1)abstain{is_abstaining, reasons}phases[]— массив фазopen_questions[],risks[]risk_review[]— 7 категорий semantic risksuccess_criteria[]complexity_tier(TRIVIAL/SMALL/MEDIUM/LARGE)handoff{target_agent, prompt}
Каждая фаза:
phase_id,title,objective,waveexecutor_agent(enum 8 значений)dependencies[],files[],tests[],steps[]acceptance_criteria[](≥1, обязательно)quality_gates[](enum 5 значений)failure_expectations[]skill_references[]
Опциональные поля верхнего уровня: trace_id, contracts[], max_parallel_agents, diagrams[], iteration_budget.
Минимальные поля:
event_type(enum:PLAN_GATE,PREFLECT_GATE,PHASE_REVIEW_GATE,HIGH_RISK_APPROVAL_GATE,COMPLETION_GATE)workflow_state(enum: PLANNING/WAITING_APPROVAL/ACTING/REVIEWING/COMPLETE — без PLAN_REVIEW; этот лейбл живёт только в промпте)decision(enum)requires_human_approval(boolean)reason,next_actiontrace_id(UUIDv4),iteration_index,max_iterations
Ключевая особенность: validated_blocking_issues — отдельный массив, отличный от raw issues. Orchestrator блокирует продолжение только на validated_blocking. Также содержит:
status(APPROVED/NEEDS_REVISION/REJECTED)review_scope(phase/final)phase_idissues[](severity, file, message)final_review_analysis(опциональное; для final-режима — scope drift, file-to-phase mapping)
Общая структура для трёх implementer-схем:
status(COMPLETE/FAILED/NEEDS_INPUT/…)failure_classification(опциональное)changes[](file, action, summary) — у CoreImplementer и PlatformEngineerui_changes[]— у UIImplementertests[],build{state, output},lint,definition_of_done[]clarification_request(если NEEDS_INPUT)
UI-вариант добавляет: accessibility[], responsive[].
Platform-вариант добавляет: approvals[], rollback_plan, health_checks[].
docs_created[],docs_updated[]— каждое сpath.parity_check— проверка кода и доков на согласованность.diagrams[]— Mermaid-диаграммы.coverage— какие концепции покрыты.
health_check— health-first гейт (приложение запустилось?).scenarios[](status, steps, screenshots).console_failures[],network_failures[].accessibility_findings[].
Похожая структура:
status(APPROVED/NEEDS_REVISION/REJECTED/ABSTAIN)findings[]илиmirages[]— каждый сseverity(BLOCKING/WARNING/INFO/CRITICAL/MAJOR/MINOR),file,description,evidence.score— quantitative (см. SCORING-SPEC.md).iteration_index.
Failure-классификация исключает transient.
status(PASS/WARN/FAIL).task_walkthroughs[]— симуляция первых 3 задач.- Для каждой:
task_id,executable(boolean),gaps[].
status(COMPLETE/ABSTAIN).confidence.summary.findings[]— каждый сtopic,definition,key_invariants,source,example_or_quote.open_questions[].
files[]— каждый сpath,type,relevance.dependencies[].entry_points[].conventions[].
Описывает payload делегирования. Подгружается on-demand, не в каждом контексте Orchestrator-а:
target_agent,phase_id,phase_title.executor_agent(должен совпадать с phase.executor_agent).scope,inputs,expected_output_schema.trace_id,iteration_index,iteration_budget.
Общий шаблон для acting subagent-ов при NEEDS_INPUT:
question.options[]— каждый сlabel,pros,cons,affected_files,recommended(boolean).recommendation_rationale.impact_analysis.
- Все схемы используют
additionalProperties: false— запрещены неучтённые поля. - Enum-ы стабильны и не должны переписываться без миграции.
- Минимальные строки:
minLengthдля критичных полей (titles, descriptions). - Версионирование:
schema_versionконстанта в каждой схеме (для Planner —"1.2.0").
evals/validate.mjs — структурный проход. Проверяет:
- Каждая схема — валидный JSON Schema.
- Каждый сценарий в
evals/scenarios/валиден против соответствующей схемы. - Все ссылки на схемы из агентских файлов корректны.
- Считать схему форматом чата. Нет, схема — это контракт; в чате агенты дают структурированный текст, не raw JSON.
- Добавить поле без обновления схемы. additionalProperties false — eval упадёт.
- Считать
clarification-request14-й схемой агента. Это общий шаблон, не привязан к одному агенту. - Перепутать
workflow_state(без PLAN_REVIEW) и лейбл стадии в промпте (с PLAN_REVIEW). - Игнорировать
validated_blocking_issuesв verdict. Только они блокируют, не raw issues.
- (новичок) Откройте
schemas/planner.plan.schema.jsonи найдите все 7 категорий semantic risk вrisk_review.items.properties.category.enum. - (новичок) Сколько required-полей у
core-implementer.execution-report.schema.jsonна верхнем уровне? - (средний) Какая разница между
orchestrator.gate-event.schema.jsonиorchestrator.delegation-protocol.schema.json? - (средний) Откройте
code-reviewer.verdict.schema.jsonи найдитеvalidated_blocking_issues. Чем оно отличается отissues? - (продвинутый) Найдите все схемы, у которых
additionalProperties: false— это все? Что произойдёт, если добавить лишнее поле?
- Сколько JSON-схем в
schemas/? - Чем
clarification-request.schema.jsonотличается от других? - Какая схема описывает план?
- Какая схема описывает verdict пост-ревью?
- Какая схема описывает событие перехода состояния Orchestrator-а?