99 lines
4.8 KiB
YAML
99 lines
4.8 KiB
YAML
work_item: ORCH-078
|
||
stage: analysis
|
||
author_agent: analyst
|
||
status: ready-for-review
|
||
created_at: 2026-06-09
|
||
model_used: claude-opus-4-8
|
||
title: "ORCH-52e: трассировка ORCH-NNN — стандарт маркеров + правило чтения"
|
||
framework: pytest
|
||
scope: >
|
||
Покрытие — структурные текстовые проверки (без запуска агентов, без импорта src/):
|
||
наличие и содержание docs/_standards/TRACEABILITY.md, присутствие правила чтения в
|
||
developer/architect, контроль соблюдения в reviewer, fallback-доступ, анти-археология,
|
||
анти-регресс промптов 52d. Вне покрытия — массовый ретро-фит маркеров в src/ и любое
|
||
поведение кода (src/** не меняется).
|
||
notes: >
|
||
Тесты — расширение существующего tests/test_agent_prompts_canon.py (tests-only; src/ не
|
||
трогается, что согласуется с AC-7). Проверки текстовые (open()+read() по файлам репозитория),
|
||
как и канон 52d. test_agent_frontmatter_no_model.py остаётся зелёным. Полный регресс
|
||
pytest tests/ -q должен оставаться зелёным.
|
||
|
||
tests:
|
||
- id: TC-01
|
||
type: unit
|
||
description: "docs/_standards/TRACEABILITY.md существует и непустой (AC-1)."
|
||
module: tests/test_agent_prompts_canon.py
|
||
expected: PASS
|
||
|
||
- id: TC-02
|
||
type: unit
|
||
description: "TRACEABILITY.md описывает формат маркера ORCH-NNN и правило размещения рядом с нетривиальным инвариантом (AC-1)."
|
||
module: tests/test_agent_prompts_canon.py
|
||
expected: PASS
|
||
|
||
- id: TC-03
|
||
type: unit
|
||
description: "TRACEABILITY.md содержит реальный пример: ссылается на существующий путь src/...py и на существующий docs/work-items/ORCH-NNN/06-adr/...md (AC-1)."
|
||
module: tests/test_agent_prompts_canon.py
|
||
expected: PASS
|
||
|
||
- id: TC-04
|
||
type: unit
|
||
description: "TRACEABILITY.md документирует fallback-доступ git show origin/main:docs/work-items/... (AC-4)."
|
||
module: tests/test_agent_prompts_canon.py
|
||
expected: PASS
|
||
|
||
- id: TC-05
|
||
type: unit
|
||
description: "TRACEABILITY.md документирует анти-археологию: порог 3+ маркеров → сводная ссылка на сквозной ADR docs/architecture/adr/ (AC-5)."
|
||
module: tests/test_agent_prompts_canon.py
|
||
expected: PASS
|
||
|
||
- id: TC-06
|
||
type: unit
|
||
description: "developer.md несёт правило чтения чужого маркера + ссылку на TRACEABILITY.md + fallback git show origin/main: (AC-2, AC-4)."
|
||
module: tests/test_agent_prompts_canon.py
|
||
expected: PASS
|
||
|
||
- id: TC-07
|
||
type: unit
|
||
description: "architect.md несёт правило чтения маркированного кода + анти-археологию (3+ → сквозной ADR) + ссылку на TRACEABILITY.md (AC-2, AC-5)."
|
||
module: tests/test_agent_prompts_canon.py
|
||
expected: PASS
|
||
|
||
- id: TC-08
|
||
type: unit
|
||
description: "reviewer.md несёт ось контроля: правка маркированного кода без сверки с ADR → finding (AC-3)."
|
||
module: tests/test_agent_prompts_canon.py
|
||
expected: PASS
|
||
|
||
- id: TC-09
|
||
type: unit
|
||
description: "АНТИ-РЕГРЕСС 52d: 5 XML-секций и 6 полей 52c-схемы присутствуют во всех 6 промптах (NFR-2)."
|
||
module: tests/test_agent_prompts_canon.py
|
||
expected: PASS
|
||
|
||
- id: TC-10
|
||
type: unit
|
||
description: "АНТИ-РЕГРЕСС 52d: machine-verdict ключи сохранены байт-в-байт (verdict:/result:/staging_status:/deploy_status:/security_status:, точный регистр и наборы значений) (NFR-2)."
|
||
module: tests/test_agent_prompts_canon.py
|
||
expected: PASS
|
||
|
||
- id: TC-11
|
||
type: unit
|
||
description: "frontmatter промптов остаётся валидным без ключа model: (повторно зелёный) (NFR-2)."
|
||
module: tests/test_agent_frontmatter_no_model.py
|
||
expected: PASS
|
||
|
||
- id: TC-12
|
||
type: unit
|
||
description: "CLAUDE.md и docs/architecture/README.md ссылаются на docs/_standards/TRACEABILITY.md как слой 4 эпика 52 (AC-8)."
|
||
module: tests/test_agent_prompts_canon.py
|
||
expected: PASS
|
||
|
||
- id: TC-13
|
||
type: integration
|
||
description: "Полный регресс pytest tests/ -q зелёный; src/ не изменён (поведение кода идентично) (AC-7)."
|
||
module: tests/
|
||
expected: PASS
|