Files
orchestrator/docs/work-items/ORCH-105/12-review.md

9.7 KiB
Raw Blame History

verdict, work_item, stage, author_agent, status, created_at, model_used, type, work_item_id, version
verdict work_item stage author_agent status created_at model_used type work_item_id version
APPROVED ORCH-105 review reviewer approved 2026-06-12 claude-opus-4-8 review ORCH-105 1

Review ORCH-105 — Подготовка презентации по орку (слайды Lite-установки и использования через Plane)

Машинный вердикт читается ТОЛЬКО из verdict: во frontmatter. APPROVED → дальше по конвейеру.

Summary

Docs-only доработка витрины: слайдо-источник docs/overview/presentation.md расширен тремя слайдами в каноне ORCH-011 (дека 16 → 19, сквозная нумерация цела), добавлена одна анти-дрейф тест-функция в tests/test_system_docs.py, обновлён CHANGELOG.md. Реализация полностью соответствует ТЗ (02-trz.md), критериям приёмки (03-acceptance-criteria.md) и 06-adr/ADR-001. Рантайм (src/**, STAGE_TRANSITIONS, QG_CHECKS, check_*, схема БД) — байт-в-байт не тронут. Факты новых слайдов сверены с golden sources. Весь tests/test_system_docs.pyзелёный (29 passed). P0/P1 findings нет → APPROVED.

Замечание по среде ревью (не finding): локальный main устарел (9b7bdc0), поэтому git diff main...HEAD ложно тянул уже смерженный контент ORCH-011. Достоверный диф снят против origin/main (4d5e461) — он чистый: CHANGELOG.md, presentation.md, tests/test_system_docs.py

  • артефакты docs/work-items/ORCH-105/. Никаких чужих правок в PR нет.

Оси проверки

1. Соответствие ТЗ / Acceptance Criteria — PASS

  • FR-1 / AC-1 (Lite-слайд): добавлен «Слайд 17: Lite-установка скриптами». Тезисы точны и согласованы с docs/deployment/LITE_SETUP.md: два контейнера платформы (orchestrator + orchestrator-watchdog), развёртывание без правки кода (только конфиг), помощники gen_secrets.py/onboard_project.py (plan/apply/verify) + docker compose up -d, runbook с проверкой каждого шага. BR-5 соблюдён: одношаговый bootstrap явно отнесён к смежному Bundled, не Lite (нет «монолитного инсталлятора», нет выдуманных скриптов).
  • FR-2 / AC-2 (Plane-usage): добавлены два оператор-слайда («Слайд 8: Запуск и ведение задачи через Plane», «Слайд 9: Что решает человек: гейты, авто-режим, отмена»). Покрыты все 8 обязательных тем: запуск «To Analyse», «индикация ≠ управление», оба человеческих гейта (Approved на анализе и Confirm Deploy на деплое), авто-лейблы autoApprove/autoDeploy/Bug, отмена STOP, наблюдение (статусы доски + Telegram-карточка + комментарии со ссылками на ветку/PR). Имена статусов/лейблов дословно сверены с tech-pipeline.md (стр. 65/68/97) и tech-integrations.md (стр. 8/13). Инвариант «авто-режим не пропускает техпроверки» зафиксирован верно.
  • FR-3 / AC-3 (нумерация/формат): заголовки слайдов строго сквозные 1..19, ## Как собрать .pptx остаётся служебным разделом (не слайд). test_presentation_source_parses_with_canonical_parser — зелёный (≥12, [1..N], непустые заголовки, ≥1 тезис).
  • FR-5 / AC-4 (анти-дрейф): добавлена test_presentation_covers_lite_and_plane_usage_bits, фиксирующая lite+маркер установки и plane+to analyse/approved/confirm deploy/stop. Существующие проверки нарратива и процедуры сборки — без послаблений, зелёные.
  • FR-6 / AC-8 (сопровождение): запись docs: по ORCH-105 в CHANGELOG.md присутствует и содержательна; норматив витрины ORCH-011/079 соблюдён (PR сам и есть обновление витрины).

2. Соответствие ADR / инвариантам — PASS

  • Реализация 1:1 c 06-adr/ADR-001: ровно 3 слайда (2 Plane + 1 Lite), дека 16→19, одна новая тест-функция, новый QG не регистрируется, скрипт build_presentation.py не правится (подтверждено: вне дифа), 07/08-доки не создаются (нет смены топологии/схемы БД).
  • Канон витрины adr-0039 не форкается; локальность решения обоснована (глобальный adr-NNNN не нужен) — корректно.
  • Трассировка (TRACEABILITY): исполняемый код с маркерами ORCH-NNN не затронут (docs/tests only) → инварианты конвейера не задеты, анти-археология не срабатывает.

3. Качество кода — PASS

  • Новая тест-функция содержательна (не тривиальна): проверяет присутствие конкретных имён статусов/лейблов, несёт docstring с привязкой к FR-5/AC-4 и предупреждением об анти-переобучении.
  • Багфикс-трек (ORCH-019/BR-4) не применим — задача не Bug, регресс-тест-фиксатор не требуется.
  • Маркеры теста проходят FORBIDDEN-скан и секрет-эвристику (весь модуль зелёный).

4. Документация — PASS (см. раздел «Документация»)

5. Совместимость / регресс / self-hosting — PASS

  • git diff origin/main...HEAD -- 'src/**' пуст → рантайм, стадии, гейты, схема БД не тронуты.
  • python-pptx в прод-образ не добавлен; build/ в .gitignore (стр. 19); новый .pptx-бинарь не закоммичен (docs/PRODUCT_VISION.pptx — преэкзистент, вне дифа PR).
  • Изменение полностью обратимо.

Findings

P0 — Blocker

  • (нет)

P1 — Must fix

  • (нет)

P2 — Should fix

  • (нет)

P3 — Nice-to-have (не блокирует)

  • Анти-дрейф assert "stop" in low ловит подстроку stop, которая встречается и в визуале слайда 9; для большей устойчивости к точечному удалению блока STOP можно было бы матчить «STOP»/stop в связке с маркером отмены. Решение D4 осознанно выбрало семантические корни (анти-переобучение) — приемлемо, правка не требуется.

Документация

Обновлена корректно и в том же PR. Этот PR сам является обновлением витрины docs/overview/ (презентация — артефакт витрины ORCH-011). Проверено:

  • CHANGELOG.md — запись docs: по ORCH-105 присутствует.
  • Витрина docs/overview/presentation.md — расширена; факты сверены с golden sources (docs/deployment/LITE_SETUP.md, docs/overview/tech-pipeline.md, docs/overview/tech-integrations.md, CLAUDE.md) — расхождений нет.
  • README.md «Известные ограничения» (ORCH-079) — данный PR ни одного пункта не закрывает (контентная правда о уже существующей функциональности), обновление не требуется.
  • Прочие тех-блоки docs/overview/tech-*.md, docs/architecture/README.md/internals.md — новой функциональности нет, обновлять нечего (правка только наполняет витрину контентом).
  • src/ не изменён → P0-условие «src/ изменён, документация не обновлена» не наступает.

Замечание для tester: AC-5 (ручная dev-venv сборка .pptx, ожидается Собрано слайдов: 19 → build/orchestrator-overview.pptx, exit 0, тёмная тема/кириллица/новые слайды) — ручной шаг стадии testing (TC-07), вне автоматического гейта по канону (python-pptx не в тест-образе). Это сознательная честная граница (ADR D5), не пробел покрытия.