4.1 KiB
4.1 KiB
Технические риски — ORCH-074
Work Item ID: ORCH-074
Связан с: ADR-001 (06-adr/ADR-001-model-name-validation.md).
| ID | Риск | Вероятность | Влияние | Митигация |
|---|---|---|---|---|
| R-1 | Валидация роняет запуск агента (исключение вместо graceful-деградации) — нарушение never-break, встал бы конвейер всех проектов. | Низкая | Высокое | Helper is_valid_model — чистый предикат без исключений; невалидное → logger.warning + откат на default/"". Покрыто TC-03..TC-05, TC-10. |
| R-2 | Fallback обходит валидацию (код-факт: launcher.py:374 читает agent_fallback_model напрямую, мимо resolve_agent_model). |
Средняя (если позже зададут fallback) | Среднее | ADR-001 решение 3: один helper применяется ТАКЖЕ на месте чтения fallback. Мусорный fallback дропается с warning. Покрыто TC-11. |
| R-3 | Регрессия enduro per-project override — валидация ломает корректный не-self override (общий инстанс/БД/очередь). | Низкая | Высокое | Валидные claude-имена проходят формат-чек без изменения поведения; механизм приоритетов ORCH-041 не меняется. Покрыто TC-08. |
| R-4 | Формат-чек пропускает структурную опечатку вида claude-opus-typo (валидный префикс, несуществующая модель). |
Средняя | Низкое | Принятый компромисс (ADR-001): финальный авторитет — CLI; never-break + обработка exit-code в _monitor_agent покрывают отказ запуска. Allowlist отвергнут как воссоздающий мину устаревания (G1). |
| R-5 | frontmatter-генератор возвращает model: обратно → мина P1 оживает. |
Низкая | Среднее | Проверить отсутствие автогенератора, возвращающего model:; frontmatter остаётся описательным. Покрыто TC-01/TC-02 (CI-гард на отсутствие ^model:). |
| R-6 | Хардкод версии модели в launcher при добавлении валидации. | Низкая | Среднее | Префикс claude- зашит осознанно (CLI-специфика); каноничная ВЕРСИЯ остаётся только в config.py::agent_model_default. Регэксп версию не фиксирует. |
| R-7 | Self-hosting деплой — рестарт прод-контейнера встанет конвейер всех проектов (enduro). | — | Высокое | Изменение применяется к будущим запускам; прод-деплой только через staging-гейт (8501) и Plane-статус «Confirm Deploy». Без немедленного рестарта прода. |
Инварианты (должны держаться после изменения)
- never-break: невалидная модель/эффорт/fallback НЕ роняет запуск агента — деградация на default/CLI-дефолт + лог.
- Один источник правды о модели: config (
agent_model_*); frontmatter — описательный. - Обратная совместимость ORCH-041: все валидные имена (
claude-opus-4-8, enduro override) резолвятся без изменения поведения; порядок приоритетов и сигнатуры не меняются. - Детерминизм: все 6 агентов =
claude-opus-4-8(G3/routing выключен, G4/fallback выключен).