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

110 lines
7.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
work_item: ORCH-079
stage: analysis
author_agent: analyst
status: ready-for-review
created_at: 2026-06-09
model_used: 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 |