6.1 KiB
work_item, stage, author_agent, status, created_at, model_used
| work_item | stage | author_agent | status | created_at | model_used |
|---|---|---|---|---|---|
| ORCH-077 | architecture | architect | ready-for-review | 2026-06-09 | claude-opus-4-8 |
10 — Технические риски: ORCH-077 — ORCH-52d: оптимизация 6 системных промптов по Anthropic
Work Item: ORCH-077 · Repo: orchestrator (self-hosting) · Стадия: architecture
Информационный (гейтом не парсится). Перечисляет риски реализации и митигейшн. Главный класс риска — анти-регресс поведения агента прода: промпт исполняется на КАЖДОЙ задаче ВСЕХ проектов (orchestrator + enduro-trails) из общего инстанса.
Реестр рисков
| ID | Риск | Вер. | Влия. | Митигейшн |
|---|---|---|---|---|
| TR-1 | Регресс поведения агента: при рефакторе формы потеряна рабочая инструкция → агент ломает выход для всех проектов | Сред. | Выс. | Построчная карта переноса (ADR D5) + структурные тесты test_agent_prompts_canon.py + построчный review против инвентаря TRZ §FR-6; in-vivo A/B (D6) |
| TR-2 | Ложный гейт-провал: случайно изменён регистр/имя/значения machine-verdict ключа (verdict:/result:/staging_status:/deploy_status:/security_status:) → парсер не находит вердикт |
Низ. | Выс. | Эмиссия схемы строго аддитивна (ADR D2); структурный тест проверяет точный регистр ключей и значений; frontmatter.parse_frontmatter читает по имени (порядок неважен) |
| TR-3 | Потеря self-hosting-запрета deployer'а: пропал «не рестартить 8500 изнутри» / canonical docker exec orchestrator-staging / merge-guard pr_already_merged → агент роняет прод-конвейер всех проектов |
Низ. | Крит. | deployer — самый строгий инвентарь §FR-6; отдельные структурные ассерты на 3 маркера; reviewer проверяет deployer построчно в первую очередь |
| TR-4 | Раздувание промпта: XML-канон + few-shot «утопят» ключевые запреты, агент их проигнорирует | Сред. | Сред. | Эталоны ссылкой, не инлайном (D3); контроль объёма (NFR-4); запреты — компактным списком ❌→✅ в <constraints> |
| TR-5 | Некорректный model_used: захардкожена неверная модель вместо резолва ORCH-41 |
Низ. | Низ. | Промпт ссылается на резолв ORCH-41 и таблицу README; текущее значение claude-opus-4-8 для всех ролей; информационное поле (не гейт) |
| TR-6 | Сломан frontmatter промпта: правка тела случайно затронула YAML-шапку (name/description/tools) или вернула model: |
Низ. | Сред. | test_agent_frontmatter_no_model.py остаётся зелёным (FR-7); правится только тело ниже frontmatter |
| TR-7 | In-vivo самоприменение (D6): дефект нового промпта влияет на reviewer/tester самой ORCH-077 | Низ. | Сред. | Вердикт-логика гейтов читается кодом из frontmatter, не зависит от текста промпта; анти-регресс D5; откат git revert |
| TR-8 | Расползание scope в код: соблазн «заодно» включить frontmatter_validation_strict или тронуть src/ |
Низ. | Выс. | AC-5 (git diff только .openclaw/*, docs/**, CHANGELOG.md, новые tests/test_*); ADR D7 фиксирует границу; reviewer проверяет diff |
| TR-9 | Несогласованность status с machine-verdict: например status: ready при verdict: REQUEST_CHANGES → путаница наблюдателя |
Низ. | Низ. | Карта ADR D2 предписывает status, согласованный с вердиктом для вердикт-ролей; информационное поле, гейт не зависит |
Сводный вывод
Доминирующий класс — анти-регресс поведения агентов прода (TR-1/TR-3), критичный из-за
self-hosting и общего инстанса. Изменение при этом docs/prompts-only, чисто текстовое, обратимое
git revert без миграций; loading-model (cat промпта из worktree, ADR D6) исключает прод-рестарт →
выкатка не несёт классического self-hosting-риска рестарта.
Эскалация arch:major-change НЕ требуется: новых стадий/компонентов/QG/смены БД нет;
STAGE_TRANSITIONS/QG_CHECKS/check_*/схема БД не трогаются (BR-5). Возврат в анализ НЕ
требуется: ТЗ выполнимо в рамках принципов архитектуры.
Остаточный риск для прод-конвейера — низкий при соблюдении D5 (построчная карта + структурные тесты + приоритетный review deployer/reviewer). Ключевое предписание исполнителю: рефакторить форму без потери ни одной функциональной строки; при сомнении «перенести или выбросить» — переносить.