2.7 KiB
2.7 KiB
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_*.