7.0 KiB
work_item, stage, author_agent, status, created_at, model_used
| work_item | stage | author_agent | status | created_at | model_used |
|---|---|---|---|---|---|
| ORCH-102 | architecture | architect | proposed | 2026-06-10 | claude-opus-4-8 |
10 — Технические риски: ORCH-102 — ORCH-10a Lite-тираж (инструкция + анти-дрейф)
Work Item: ORCH-102 · Repo: orchestrator · Стадия: architecture
Информационный (гейтом не парсится). Перечисляет риски реализации и их митигейшн. Решения, на которые ссылаются митигейшны (D1…D9), —
06-adr/ADR-001-lite-setup-doc-canon.md.
Реестр рисков
| ID | Риск | Вер. | Влия. | Митигейшн |
|---|---|---|---|---|
| TR-1 | Дрейф инструкции: платформа развивается, шаги LITE_SETUP.md тихо устаревают (новый env-ключ, изменённый маршрут онбординга) | Сред. | Сред. | Структурный tests/test_lite_setup_doc.py (D8: кирпичи, env-ключи ⊂ .env.example, compose-подмножество, перекрёстность) рвёт CI при дрейфе; футер-норматив NFR-5 + правило агентов №2 («шаги тиража → док в том же PR»); reviewer-ось обзорных доков (правило №6) |
| TR-2 | Форк канона: скопированная в док таблица статусов/env/вебхуков разъезжается с golden source | Низ. | Сред. | D2/FR-4: канон — только ссылками (ONBOARDING §1 / REPLICATION §2–§4 / SETUP_WEBHOOKS); в доке дублируются лишь fail-closed имена (Confirm Deploy/STOP) и списки обязательных ключей — оба под TC-02/TC-03; единственный структурный дубль (WATCHDOG_*) — под key-sync TC-02b |
| TR-3 | «Без доп-вопросов» непроверяемо: реальный заказчик найдёт пробел, который не увидел внутренний прогон | Сред. | Низ. | Операционализация BRD §6: каждый шаг = команда+проверка (TC-01/02), приёмочный smoke-прогон на чистом контуре фиксируется в 13-test-report.md/15-staging-log.md, траблшутинг ≥5 отказов (§13). Остаточные пробелы лечатся правкой golden source штатной задачей |
| TR-4 | Гетерогенность хостов заказчиков: rootless docker, иной uid владельца репо, нет node/claude-code, arm64 | Сред. | Сред. | §2 «Предусловия» с явным поддерживаемым контуром (Linux x86_64, Docker+Compose v2, git, python3, node) и чек-командой на каждое предусловие (getent group docker, владение ORCH_HOST_REPOS_DIR = ORCH_RUN_UID); вне контура — вне гарантии Lite (BRD §6); §13 покрывает типовые отказы (docker.sock gid, uid mismatch ORCH-040/057) |
| TR-5 | Заказчик включит branch protection / pre-receive на main вопреки нормативу → ложные HOLD merge-актора на ЕГО инсталляции (класс ORCH-063) |
Низ. | Выс. (у заказчика) | D3: явная нормативная рамка в §6 («НЕ включать», основание D10 ORCH-009/INV-4) + симптом в §13 («PR не мержится/HOLD → проверь protection»); для нашего прода риск нулевой (его Gitea не трогается) |
| TR-6 | Утечка секрета/боевого литерала через примеры дока или .env.watchdog.example |
Низ. | Выс. | NFR-3: только плейсхолдеры; TC-05 — fenced-скан на FORBIDDEN (импорт из test_no_host_hardcodes.py, один источник истины) + эвристика секретоподобных значений; security-гейт ORCH-022 (17-security-report.md) обязан остаться PASS; D2(б): дефолты хост-переменных в док не копируются |
| TR-7 | Хрупкость анти-дрейф теста: ложно-красный CI от безобидной правки прозы → соблазн ослабить тест | Сред. | Низ. | D8: ассерты только на стабильное (заголовки ## N., подстроки-кирпичи, парсинг env-ключей, yaml.safe_load), запреты — только в fenced-блоках; никаких проверок прозы/формулировок; паттерн уже обкатан (test_replication_smoke.py стабилен) |
| TR-8 | .env.watchdog.example разъезжается с блоком WATCHDOG_* .env.example / дефолтами watchdog/config.py |
Низ. | Низ. | TC-02b: равенство множеств ключей двух файлов; значения = дефолты канона (сверены с watchdog/config.py при ревью); полнота самого .env.example уже держится тестами ORCH-101 |
| TR-9 | Приёмочный smoke на staging-песочнице ≠ голый чужой хост: средовые эффекты нового железа (сеть, версии docker) не проверены | Сред. | Низ. | Принятый прецедент ORCH-101 AC-3 (без нового железа в контуре задачи; FR-5(г) — прогон на реальном хосте желателен, не блокер); зазор сужают чек-команды §2 и траблшутинг §13; первый реальный тираж — операторски сопровождаемый |
Сводный вывод
Доминирующий класс — документационный (дрейф/полнота/гигиена), систематически закрытый
структурными тестами (TC-01…TC-06) и нормативом golden source; рантайм-рисков нет — дифф
docs+tests (+.env.watchdog.example), конвейер и src/** байт-в-байт (D9), kill-switch не
требуется. Самый тяжёлый по влиянию риск (TR-5) материализуется только на инсталляции
заказчика и купирован явным нормативом + траблшутингом. Эскалация arch:major-change не
требуется; возврат в анализ не нужен. Остаточный риск для self-hosting прод-конвейера —
минимальный (прод-контейнер не трогается; выкат — штатно через staging 8501 →
Confirm Deploy).