tasks: очередь расставлена от базы к деталям
- порядок беклога и роадмапа назначен слоями: проверки, которым можно верить → долги входа → владелец записи и контракт API → конвейер под тестами → приложение и возможности поверх; у каждого движения записана причина; - заведены восемь задач под пункты «Завершения», которых не закрывала ни одна запись, — цель any-audio-source была без задач вовсе; - у четырёх задач сняты критерии, требовавшие того, что делает задача ниже по очереди; исправлены ссылки на несуществующий repo/sqlite и на отменённую разведку об очереди.
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
# ✨ Оповещать владельца об отказе, не дожидаясь жалобы
|
||||
|
||||
- **Тип:** feature
|
||||
- **Категория:** Очередь — Правило оповещения ставится на метрику, которой до этого нет.
|
||||
- **Зачем:** Об отказе владелец узнаёт от пользователя: правил оповещения нет ни на одной метрике, а метрики читают глазами.
|
||||
- **Теги:** goal:service-observability
|
||||
|
||||
Двигает пункт 4 «Завершения» цели: владелец узнаёт об отказе сам.
|
||||
|
||||
Берётся после `external-service-metrics` и `stalled-pipeline-metric`: правило
|
||||
оповещения ставится на метрику, а метрик, на которых его ставить, сегодня нет.
|
||||
|
||||
Доставку берём ту же, что и пользовательскую, — apprise с ntfy: второй канал
|
||||
ради того же сообщения не заводим.
|
||||
|
||||
## Затрагивает
|
||||
|
||||
- правила оповещения: где они живут — в сервисе или в выкладке
|
||||
`pet-project-server`, выбор входит в задачу;
|
||||
- секция конфигурации канала оповещения владельца;
|
||||
- `docs/architecture.md`, раздел эксплуатации — кто и о чём оповещает;
|
||||
- `CLAUDE.md` — запрет на выкладку остаётся: правила выкладывает человек.
|
||||
|
||||
## Критерии приёмки
|
||||
|
||||
- Задача, ушедшая в `failed`, доходит до владельца сообщением. Оракул — тест с
|
||||
подставным каналом: после перевода задачи в `failed` канал получил сообщение с
|
||||
идентификатором задачи.
|
||||
- Сообщение не несёт ни текста расшифровки, ни имени файла пользователя. Оракул
|
||||
— тест: в отправленном теле только идентификаторы, длина и причина.
|
||||
- Недоступность канала оповещения не роняет конвейер. Оракул — тест: канал
|
||||
отвечает отказом, задача остаётся в прежнем состоянии, в журнале одна строка.
|
||||
|
||||
## Рамки
|
||||
|
||||
Выкладку правил запускает человек — `inv pl -- transcriber` из
|
||||
`pet-project-server`. Пользовательские уведомления о готовности здесь не
|
||||
трогаем: это цель `ready-notification`.
|
||||
Reference in New Issue
Block a user