4.5 KiB
work_item, stage, author_agent, status, created_at, model_used
| work_item | stage | author_agent | status | created_at | model_used |
|---|---|---|---|---|---|
| ORCH-119 | architecture | architect | proposed | 2026-06-17 | claude-opus-4-8 |
10 — Технические риски: ORCH-119 — source-backed 00-business-request.md
Work Item: ORCH-119 · Repo: orchestrator · Стадия: architecture
Информационный (гейтом не парсится). Перечисляет риски реализации и их митигейшн.
Реестр рисков
| ID | Риск | Вер. | Влия. | Митигейшн |
|---|---|---|---|---|
| TR-1 | Чинят только прямой путь A, путь B (отложенный срез, self-hosting) забыт → на orchestrator баг остаётся (TBD) |
Сред. | Выс. | Обязательный integration-тест пути B (TC-03): персист в tasks + рендер в _materialize_deferred_branch; ADR-001 D1/D2 явно фиксирует оба пути |
| TR-2 | Регресс схемы/создания задачи при добавлении персиста на ОБЩЕЙ прод-БД | Низ. | Выс. | Аддитивный идемпотентный _ensure_column (no-op при наличии), базовый CREATE TABLE не трогается; тест обратной совместимости (TC-05) |
| TR-3 | Падение создания задачи из-за рендера/чтения описания (нарушение never-break) | Низ. | Выс. | Fail-safe fallback-маркер + изоляция обогащения (try/except); создание задачи не зависит от рендера (ADR-001 D3, TC-02) |
| TR-4 | Гонка ORCH-053: окно «задача создана, описание ещё не записано» при отдельном UPDATE |
Низ. | Сред. | Запись description встроена в тот же атомарный INSERT create_task_atomic под _CREATE_TASK_LOCK, отдельного UPDATE нет (ADR-001 D1) |
| TR-5 | Повторная материализация (рестарт/реклейм) перезаписывает/дублирует тело артефакта | Низ. | Сред. | Идемпотентность _create_initial_docs (Gitea 422 → no-op), тело не перезаписывается (TC-06) |
| TR-6 | Нарушение анти-stale-base инварианта ORCH-088 при правке отложенного среза | Низ. | Выс. | Момент/условие среза НЕ меняются — только источник данных дополняется durable-колонкой; сверка с docs/work-items/ORCH-088/06-adr/ перед правкой (ADR-001 D4, NFR-3) |
| TR-7 | Случайная правка STAGE_TRANSITIONS/QG_CHECKS/check_*/machine-verdict |
Низ. | Выс. | 00-business-request.md информационный (не гейтится); анти-регресс-тест импорта гейтов без изменений (TC-07, AC-5) |
| TR-8 | Markdown-спецсимволы/многострочность описания искажают артефакт | Низ. | Низ. | Рендер plain-text «как есть» без обрезки; артефакт гейтом не парсится → спецсимволы безопасны (NFR-2, TC-06) |
Сводный вывод
Доминирующий класс — операционные риски реализации (полнота покрытия обоих путей + сохранение
never-break/идемпотентности/инвариантов ORCH-088/ORCH-053), не архитектурные. Все они закрываются
обязательными регресс- и edge-тестами (04-test-plan.yaml TC-01…TC-07) и точным следованием
прецеденту tasks.title. Эскалация не требуется: решение аддитивно, обратимо (revert PR),
без нового компонента/QG/стадии/смены БД-движка → arch:major-change не выставляется, возврат в
анализ (back-to:analysis) не нужен. Остаточный риск для прод-конвейера (self-hosting) — низкий:
фикс не деплоит/не рестартит прод, не трогает main, не добавляет сетевых вызовов в горячий
claim_next_job (NFR-4).