Files
orchestrator/docs/work-items/ORCH-078/10-tech-risks.md

6.1 KiB
Raw Blame History

work_item, stage, author_agent, status, created_at, model_used
work_item stage author_agent status created_at model_used
ORCH-078 architecture architect proposed 2026-06-09 claude-opus-4-8

10 — Технические риски: ORCH-078 — ORCH-52e: трассировка ORCH-NNN

Work Item: ORCH-078 · Repo: orchestrator (self-hosting) · Стадия: architecture

Информационный документ (гейтом не парсится). Перечисляет риски реализации и митигейшн. Класс задачи — docs + prompts-only, нулевое касание кода (NFR-1) → доминируют риски регресса промптов и дублирования 52d, а не функциональные.

Реестр рисков

ID Риск Вер. Влия. Митигейшн
TR-1 Дублирование 52d. Правило чтения частично смежно с 52d-упоминаниями ADR текущей задачи → соблазн скопировать текст в каждый промпт (нарушение BR-6/AC-6). Сред. Низ. D2: единый источник правила в TRACEABILITY.md; промпты несут короткую врезку-ссылку, не копию. Reviewer проверяет AC-6 (нет дословного повтора, 52d-канон цел).
TR-2 Регресс промптов. Точечная врезка случайно сдвигает/ломает 5 XML-секций, 6 полей 52c-схемы или machine-verdict ключ (verdict:/result:/staging_status:/deploy_status:/security_status:) → ложное падение гейта на следующей задаче. Низ. Выс. NFR-2: расширенный test_agent_prompts_canon.py (5 секций, 6 полей, точный регистр verdict-ключей) + test_agent_frontmatter_no_model.py остаются зелёными; полный pytest tests/ -q зелёный перед merge.
TR-3 Расползание в ретро-фит. Соблазн расставить/переразметить маркеры по 51 существующему вхождению → большой диф, риск регресса смысла, выход за scope. Сред. Сред. Жёсткая граница «вне объёма» (NFR-3, ADR D4); стандарт нормативен «на будущее»; reviewer заворачивает любой src/**-диф (AC-7).
TR-4 Устаревший пример в стандарте. Реальный пример (src/serial_gate.py → ORCH-088) ссылается на строку/ADR, которые позже переименуют/удалят → нерабочая трассировка (FAIL AC-1). Низ. Низ. Пример выбран по стабильному инварианту (условие сериализации serial-gate, ORCH-088 — недавний и активный); сверено существование файла+ADR на 2026-06-09; ссылка на ADR-файл (стабилен), не на номер строки в тексте стандарта.
TR-5 Касание src/** по ошибке. Реализатор тронет код/STAGE_TRANSITIONS/QG_CHECKS/схему БД вопреки NFR-1. Низ. Выс. AC-7: git diff --name-only origin/main показывает только docs/**, .openclaw/agents/*.md, tests/test_agent_prompts_canon.py, CLAUDE.md, CHANGELOG.md; reviewer заворачивает любой src/**.
TR-6 Self-hosting раскат. Новые промпты вступают в силу на следующем worktree от main без рестарта — на текущей задаче reviewer/tester уже исполнятся под новыми промптами (in-vivo). Дефектная врезка повлияла бы на конвейер всех проектов. Низ. Сред. NFR-4: изменение чисто текстовое и аддитивное; обратимо git revert (NFR-5); анти-регресс-тест ловит структурный слом до merge; нет машинного поведения/состояния.
TR-7 Dangling-ссылка в README/CLAUDE.md. Если ссылку на TRACEABILITY.md добавить раньше создания файла → битая ссылка в main. Низ. Низ. Архитектор НЕ создаёт TRACEABILITY.md и НЕ правит README на стадии architecture; FR-7 (CLAUDE.md/README.md/CHANGELOG.md) выполняется на development в одном PR вместе с созданием файла.

Сводный вывод

Доминирующий класс — риски документации/промптов (TR-1, TR-2, TR-3), не функциональные: поведение src/ идентично (NFR-1), enduro-trails не затронут. Самый высокий по влиянию — TR-2 (регресс machine-verdict ключа мог бы ложно валить гейт всех проектов), но вероятность низкая и полностью покрывается машинным анти-регресс-тестом промптов. Остаточный риск для прод-конвейера (self-hosting) — низкий: изменение аддитивно, обратимо git revert, без миграций/состояния/ kill-switch.

Эскалация не требуется: arch:major-change не нужен (нет новой стадии/компонента/смены БД — сквозной adr-0022 регистрирует нормативный стандарт, а не архитектурный компонент); возврат в анализ (back-to:analysis) не нужен (ТЗ реализуемо без нарушения принципов архитектуры).