Files
orchestrator/docs/work-items/ORCH-079/03-acceptance-criteria.md

7.0 KiB
Raw Permalink Blame History

work_item, stage, author_agent, status, created_at, model_used
work_item stage author_agent status created_at model_used
ORCH-079 analysis analyst ready-for-review 2026-06-09 claude-opus-4-8

03 — Критерии приёмки (Acceptance Criteria): ORCH-079 — ORCH-52f: синхронизация README/доков с кодом + reviewer-гейт обзорных доков

Work Item: ORCH-079 · Repo: orchestrator · Стадия: analysis

Формат: каждый критерий имеет PASS (что должно быть истинно для приёмки) и FAIL (что считается провалом). Reviewer/tester проверяет их буквально по файлам репозитория и коду.


AC-1 — Последовательная нумерация «Известные ограничения»

Условие: Секция «Известные ограничения» в корневом README.md пронумерована сквозно без повторов.

  • PASS: номера в списке идут 1, 2, 3, … строго по возрастанию без дубликатов; повторов 3/4 (текущее 1,2,3,4,3,4) нет.
  • FAIL: есть повторяющиеся номера, пропуски или не-последовательная нумерация.

AC-2 — Решённые пункты сняты/помечены закрытыми с ORCH-ссылкой

Условие: Четыре решённых/устаревших пункта (single-task/worktree, in-process daemon-потоки, Gitea CI, no-retry) не присутствуют как открытые ограничения; если упомянуты — то как закрытые, с указанием ORCH-решения.

  • PASS: ни один из этих пунктов не стоит в списке открытых ограничений; для каждого упоминания (если оставлено) указана закрывшая задача/механизм (worktree — ORCH-026/088; очередь — ORCH-1; CI — check_ci_green; retry/breaker — ORCH-1 resilience).
  • FAIL: хотя бы один из четырёх пунктов остался в формулировке «открыто/не настроено/в работе» без пометки закрытия и без ORCH-ссылки.

AC-3 — Оставшиеся ограничения реально открыты (сверено с кодом)

Условие: Каждый пункт, оставшийся в списке открытых ограничений, подтверждён открытым по коду или закрытой/незакрытой задаче.

  • PASS: для каждого оставшегося пункта в 02-trz.md/12-review.md прослеживается подтверждение открытости (ссылка на код/задачу); ни один открытый пункт не противоречит фактическому коду.
  • FAIL: в списке открытых остаётся пункт, который по коду уже решён, либо пункт без какого-либо подтверждения открытости.

AC-4 — docs/architecture/README.md согласован с кодом

Условие: В части, затронутой задачей, docs/architecture/README.md не противоречит src/.

  • PASS: таблица стадий/гейтов соответствует STAGE_TRANSITIONS; реестр QG_CHECKS соответствует src/qg/checks.py::QG_CHECKS; таблица моделей/эффортов соответствует резолву (claude-opus-4-8; developer=xhigh, tester/deployer=medium, прочие=high); перечень компонентов соответствует модулям src/.
  • FAIL: найдено хотя бы одно фактическое расхождение в перечисленных таблицах, оставшееся непоправленным.

AC-5 — Reviewer требует обновлять обзорные доки (README limitations)

Условие: .openclaw/agents/reviewer.md явно обязывает: при решении пункта из README «Известные ограничения» необновление README — finding.

  • PASS: в оси «Документация» (<task>) и/или <constraints> reviewer.md присутствует явное упоминание обзорных доков / README «Известные ограничения» с трактовкой «не обновлено → finding»; формулировка в каноне 52d («»).
  • FAIL: правило отсутствует, упоминает только конвейерные доки, или внесено вне канона (сломаны 5 XML-секций / формат запретов).

AC-6 — Анти-регресс: код не тронут, verdict-ключи и канон 52d сохранены, тесты зелёные

Условие: Изменения не затрагивают рантайм; контракт reviewer сохранён; регресс зелёный.

  • PASS: git diff не содержит изменений в src/** (особенно STAGE_TRANSITIONS, QG_CHECKS, check_*, схема БД); в reviewer.md ключ verdict: и значения APPROVED|REQUEST_CHANGES — байт-в-байт, 6 полей схемы 52c и 5 XML-секций на месте; pytest tests/ -q зелёный, включая tests/test_agent_prompts_canon.py и tests/test_agent_frontmatter_no_model.py.
  • FAIL: есть правка src/**; изменён verdict:/его значения; сломан XML-канон/схема 52c; любой тест регресса красный.

AC-7 — CLAUDE.md / CHANGELOG / ADR обновлены

Условие: Сопроводительная документация обновлена в том же PR.

  • PASS: CHANGELOG.md содержит запись об ORCH-079 в ## [Unreleased]; создан docs/work-items/ORCH-079/06-adr/ADR-001-*.md; CLAUDE.md обновлён, если правило/финал эпика его затрагивает (иначе — обоснованно не затронут).
  • FAIL: отсутствует запись в CHANGELOG.md, либо нет ADR задачи, либо CLAUDE.md устарел относительно внесённого правила.

Сводная матрица AC ↔ FR/BR

AC Покрывает
AC-1 BR-1 / FR-1
AC-2 BR-2 / FR-2
AC-3 BR-3 / FR-2
AC-4 BR-4 / FR-3, FR-4
AC-5 BR-5 / FR-5
AC-6 NFR-1, NFR-2 / FR-6
AC-7 BR-6