---
work_item: ORCH-011
stage: analysis
author_agent: analyst
status: ready-for-review
created_at: 2026-06-11
model_used: 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 |
