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

23 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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_*`) | Очень низкая | Среднее | Правка строго аддитивна (новый ключ в payload), возвраты не трогаются; AC-5 + существующие тесты трекера |
| 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_*`.