work_item: ORCH-079
stage: analysis
author_agent: analyst
status: ready-for-review
created_at: 2026-06-09
model_used: claude-opus-4-8
title: "ORCH-52f: синхронизация README/доков с кодом + reviewer-гейт обзорных доков"
framework: pytest
scope: >
  Покрывается: структурная валидность секции README «Известные ограничения» (нумерация,
  отсутствие решённых пунктов), наличие reviewer-правила про обзорные доки в каноне 52d,
  анти-регресс machine-verdict ключей и схемы 52c, согласованность docs/architecture/README.md
  с кодом по гейтам/моделям. Вне покрытия: рантайм-поведение (src/ не меняется), машинный
  enforcement reviewer-правила (его нет — правило нормативно-описательное).
notes: >
  Это docs + prompt-only задача — основной анти-регресс структурный (Markdown/промпт), а не
  поведенческий. Новые проверки добавляются в tests/test_agent_prompts_canon.py (структурный
  анти-дрейф промптов) и при необходимости в отдельный tests/test_readme_limitations.py.
  Полный регресс pytest tests/ должен оставаться зелёным; src/ не тронут.

tests:
  - id: TC-01
    type: unit
    description: "reviewer.md покрывает обзорные доки: содержит явное упоминание README «Известные ограничения» / обзорных доков в оси «Документация» (анти-дрейф правила FR-5/AC-5)."
    module: tests/test_agent_prompts_canon.py
    expected: PASS

  - id: TC-02
    type: unit
    description: "Анти-регресс reviewer machine-verdict: ключ `verdict:` и значения APPROVED|REQUEST_CHANGES присутствуют байт-в-байт (существующий test_machine_verdict_keys_preserved_exact_case остаётся зелёным, AC-6/NFR-2)."
    module: tests/test_agent_prompts_canon.py
    expected: PASS

  - id: TC-03
    type: unit
    description: "Анти-регресс канона 52d: reviewer.md (и все 6 промптов) сохраняют 5 обязательных XML-секций и 6 полей схемы 52c (существующие test_five_xml_sections_present / test_six_schema_field_names_present зелёные, AC-6)."
    module: tests/test_agent_prompts_canon.py
    expected: PASS

  - id: TC-04
    type: unit
    description: "frontmatter agent-промптов без мёртвого `model:` остаётся валидным (test_agent_frontmatter_no_model.py зелёный после правки reviewer.md, AC-6)."
    module: tests/test_agent_frontmatter_no_model.py
    expected: PASS

  - id: TC-05
    type: unit
    description: "README «Известные ограничения»: нумерация строго последовательна без повторов (AC-1) и не содержит решённых пунктов как открытых — single-task/worktree, in-process daemon, Gitea CI, no-retry (AC-2). Реализуется как новый структурный тест README."
    module: tests/test_readme_limitations.py
    expected: PASS

  - id: TC-06
    type: integration
    description: "Полный регресс pytest tests/ зелёный; git diff не содержит изменений в src/** (STAGE_TRANSITIONS/QG_CHECKS/check_*/схема БД) — проверяется ревьюером/тестером на стадии review/testing (AC-6/NFR-1)."
    module: tests/
    expected: PASS
