13 KiB
work_item, stage, author_agent, status, created_at, model_used
| work_item | stage | author_agent | status | created_at | model_used |
|---|---|---|---|---|---|
| ORCH-011 | analysis | analyst | ready-for-review | 2026-06-11 | claude-opus-4-8 |
03 — Критерии приёмки: ORCH-011 — Полная документация системы мультиагентов
Work Item: ORCH-011 · Repo: orchestrator · Стадия: analysis
Каждый критерий — однозначный PASS/FAIL. Reviewer/Tester проверяют буквально по файлам
репозитория (пути витрины — те, что зафиксирует ADR архитектора; ниже «витрина» = выбранный
каталог в docs/).
AC-1 — Единая точка входа существует (BR-1)
Условие: в docs/ создан каталог витрины с индекс-документом.
- PASS: индекс существует; из него по относительным ссылкам достижимы: бизнес-часть, тех-часть (все 7 блоков FR-3), презентационная основа, маршруты трёх аудиторий, норматив сопровождения. Каталог и индекс совпадают с зафиксированными в ADR-001 путями.
- FAIL: индекса нет, ИЛИ хотя бы одна из перечисленных частей недостижима из индекса.
AC-2 — Бизнес-уровень самодостаточен для нетехнического читателя (BR-2)
Условие: бизнес-часть содержит все 5 обязательных смысловых разделов.
- PASS: присутствуют разделы: (1) проблема, которую решает оркестратор; (2) суть решения (конвейер агентов, человек = постановщик/приёмщик); (3) что умеет — фактические способности (минимум: автономный конвейер задача→прод, мультипроектность, самовосстановление, пакетный авто-режим, багфикс-трек, отмена STOP, наблюдаемость, self-hosting, тиражируемость Lite/Bundled); (4) ценность (скорость/стоимость/автономность/надёжность/масштаб); (5) сценарии использования (минимум 5 из перечня FR-2). В основном тексте нет необъяснённых кодовых идентификаторов/имён функций.
- FAIL: отсутствует любой из 5 разделов, ИЛИ способности из обязательного минимума пропущены, ИЛИ текст оперирует жаргоном без объяснения.
AC-3 — Тех-уровень покрывает 7 блоков (BR-3)
Условие: тех-часть содержит все блоки контент-карты TRZ §3 FR-3.
- PASS: присутствуют и непусты блоки: 1) архитектура/компоненты (включая фоновые демоны и sidecar), 2) конвейер/стадии/гейты (включая под-гейты и человеческие гейты), 3) агенты, 4) структура объектов/каноническая модель, 5) интеграции (Plane/Gitea/LLM/Telegram), 6) качество/безопасность, 7) аналитика/наблюдаемость. Блок 1 содержит хотя бы одну диаграмму/схему потока (текстовую ASCII или mermaid).
- FAIL: любой блок отсутствует/пуст, ИЛИ схема потока отсутствует.
AC-4 — Карта стадий и гейтов сходится с кодом (BR-3, FR-7)
Условие: конвейер в витрине = src/stages.py::STAGE_TRANSITIONS + реестр QG_CHECKS.
- PASS: все стадии из
STAGE_TRANSITIONS(включаяdeploy-stagingи стокcancelled) присутствуют в витрине в правильном порядке; exit-гейты рёбер названы фактическими именами (check_analysis_approved…check_deploy_status); под-гейты ребраdeploy-staging→deployописаны в фактическом порядке (security → merge → coverage → image-freshness) и явно помечены как врезки, не стадии. Структурный тест сверяет перечень стадий импортомsrc.stages.STAGE_TRANSITIONSи зелёный. - FAIL: стадия/гейт пропущены или названы несуществующим именем, ИЛИ порядок противоречит коду, ИЛИ тест-сверка отсутствует/красная.
AC-5 — Агенты: 6 ролей с полным паспортом (BR-3)
Условие: блок агентов описывает все 6 ролей.
- PASS: для каждой роли (analyst, architect, developer, reviewer, tester, deployer) указаны:
назначение, стадия работы, вход, выходные артефакты (по
PIPELINE_DOCS.md§2) и machine-verdict ключ (где есть:verdict:/result:/staging_status:/deploy_status:); присутствует таблица модель/эффорт, совпадающая с фактическим резолвом config (ORCH-41/81: developer=xhigh, tester/deployer=medium, прочие=high). Структурный тест полноты 6 ролей зелёный. - FAIL: роль пропущена, ИЛИ артефакты/ключи противоречат
PIPELINE_DOCS.md, ИЛИ таблица модель/эффорт расходится с config.
AC-6 — Link-first: ссылки валидны, канон не форкается (BR-4)
Условие: витрина ссылается на golden sources, не подменяя их.
- PASS: витрина содержит работающие относительные ссылки минимум на:
docs/architecture/README.md,docs/architecture/internals.md,docs/_standards/PIPELINE_DOCS.md,docs/_standards/HANDOFF_PROTOCOL.md, реестрdocs/architecture/adr/,docs/deployment/LITE_SETUP.md,docs/deployment/BUNDLED_SETUP.md,docs/PRODUCT_VISION.md,CLAUDE.md. Все относительные ссылки витрины резолвятся в существующие файлы (структурный тест зелёный). Существующие golden sources не удалены и не переписаны (допустимы только врезки-ссылки). - FAIL: битая ссылка, ИЛИ обязательная ссылка отсутствует, ИЛИ витрина дублирует-подменяет существующий golden source (например, копия таблицы компонентов architecture/README вместо ссылки с кратким резюме).
AC-7 — Презентационная основа и путь к PPTX (BR-5)
Условие: слайдовый источник существует; путь к .pptx воспроизводим.
- PASS: в витрине есть презентационный источник с явной слайдо-структурой (нумерованные
слайды: заголовок + тезисы), покрывающий бизнес-нарратив FR-4 (проблема → решение → как
работает → возможности → сценарии → тираж → статус); зафиксирована пошаговая воспроизводимая
процедура получения
.pptxв тёмном дизайне (скриптscripts/ИЛИ документированная процедура — по ADR-001), каждая команда — с проверкой результата; зависимости генерации отсутствуют вrequirements*иDockerfileоркестратора (NFR-2). - FAIL: источника нет, ИЛИ слайдо-структура не выражена, ИЛИ путь к
.pptxне описан / невоспроизводим, ИЛИ зависимость генерации попала в прод-образ.
AC-8 — Маршруты трёх аудиторий (BR-6)
Условие: индекс несёт маршруты чтения.
- PASS: в индексе явно выделены 3 маршрута — заказчик, менеджер проекта, разработчик — каждый с упорядоченным списком «что читать» (состав по FR-5).
- FAIL: хотя бы один маршрут отсутствует или пуст.
AC-9 — Норматив сопровождения зафиксирован (BR-7)
Условие: правило актуальности витрины закреплено.
- PASS: индекс витрины несёт норму «изменил функционал → обнови витрину в том же PR»;
CLAUDE.mdсодержит указатель на витрину; в ADR-001 зафиксировано, как reviewer-ось обзорных доков (ORCH-079) покрывает витрину (с правкой промпта reviewer или обоснованием, что правка не нужна; при правке промпта — канон 52d сохранён иtests/test_agent_prompts_canon.pyзелёный). - FAIL: норматив отсутствует в витрине, ИЛИ CLAUDE.md не обновлён, ИЛИ вопрос reviewer-оси не разрешён в ADR.
AC-10 — Анти-дрейф тесты существуют и зелёные (BR-8)
Условие: структурный тест-модуль витрины создан и проходит.
- PASS: новый тест-модуль (паттерн
test_lite_setup_doc.py) покрывает: наличие файлов/разделов витрины, сверку стадий импортомSTAGE_TRANSITIONS, полноту 6 агентов, валидность относительных ссылок, FORBIDDEN-скан (импорт запрещённых литералов изtests/test_no_host_hardcodes.py+ секрет-эвристика) по новым докам и презентационному источнику, наличие ссылки на витрину вREADME.md.pytest tests/ -qполностью зелёный. - FAIL: тест-модуль отсутствует, ИЛИ любая из перечисленных проверок не реализована, ИЛИ pytest красный.
AC-11 — Рантайм не тронут; указатели обновлены (NFR-1, BR-9)
Условие: изменение строго docs+tests(+опц. scripts).
- PASS: diff PR не содержит изменений
src/**,docker-compose.yml,Dockerfile,requirements*, схемы БД;README.mdссылается на витрину;CHANGELOG.mdнесётdocs:-запись по ORCH-011; в новых файлах нет секретов/боевых токенов/хост-хардкодов (FORBIDDEN-скан AC-10 зелёный). - FAIL: любой файл рантайма изменён, ИЛИ указатели не обновлены, ИЛИ найден секрет/хост-хардкод.
AC-12 — Самодостаточность против вне-репозиторных источников (допущение BRD §6)
Условие: витрина не зависит от файлов вне репо.
- PASS: витрина не содержит ссылок на вне-репозиторные пути (
tasks/…,memory/…, локальные пути хоста); всё содержание подтверждается внутрирепозиторными источниками. - FAIL: есть ссылка на файл, отсутствующий в репозитории, или цитата «по памяти» без внутрирепозиторного источника.
Сводная матрица AC ↔ BR/FR
| AC | Покрывает |
|---|---|
| AC-1 | BR-1 / FR-1 |
| AC-2 | BR-2 / FR-2 |
| AC-3 | BR-3 / FR-3 |
| AC-4 | BR-3, BR-8 / FR-3, FR-7 |
| AC-5 | BR-3 / FR-3 |
| AC-6 | BR-4 / FR-1, FR-3 |
| AC-7 | BR-5 / FR-4, NFR-2 |
| AC-8 | BR-6 / FR-5 |
| AC-9 | BR-7 / FR-6 |
| AC-10 | BR-8 / FR-7 |
| AC-11 | BR-9, NFR-1, NFR-3 |
| AC-12 | BRD §6 (допущения), NFR-3 |