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

2.7 KiB
Raw Blame History

10-Tech Risks — ORCH-080

Work Item ID: ORCH-080 Зона: src/notifications.py (две строки в send_telegram/edit_telegram)

Косметическая правка UX (LOW). Топология, схема БД, стадии, QG — не меняются. Риск регрессии оценён как нулевой; ниже — остаточные пункты для внимания.

# Риск Вероятность Влияние Митигация
R-1 Опечатка ключа/значения (disable_web_page_preview) — баннер не гаснет Низкая Низкое (косметика) unit-тест AC-1/AC-2 инспектирует httpx.post.call_args.kwargs["json"]; ручная верификация на staging (AC-3)
R-2 Случайное удаление parse_mode: "HTML" → ссылка <a href> ломается Очень низкая Среднее (теряется кликабельность) AC-4: unit-тест на наличие parse_mode: "HTML" в обоих payload; test_notify_issue_links.py остаётся зелёным
R-3 Merge-конфликт с ORCH-067/ORCH-074 в src/notifications.py Низкая Низкое По ORCH-026 сериализация merge одного репо; запуск после доезда ORCH-74 в main (BRD §7); pre-merge rebase (ORCH-043)
R-4 Регрессия контракта возврата примитивов (`message_id None/EDIT_*`) Очень низкая Среднее
R-5 Telegram депрекейтит top-level disable_web_page_preview в пользу link_preview_options Очень низкая Низкое (forward-compat) Top-level флаг остаётся валиден и обратносовместим; миграция на link_preview_options.is_disabled — отдельная задача при необходимости

Инварианты, которые НЕЛЬЗЯ нарушить

  • never-raise обоих примитивов (try/except сохранён).
  • parse_mode: "HTML" в обоих payload (иначе <a href> ломается).
  • disable_notification в send_telegram (карточка тихая).
  • Инвариант «одна карточка на задачу» (bump/edit) — не затрагивается.
  • Контракты возврата: send_telegram → message_id|None, edit_telegram → EDIT_*.