- порядок беклога и роадмапа назначен слоями: проверки, которым можно верить → долги входа → владелец записи и контракт API → конвейер под тестами → приложение и возможности поверх; у каждого движения записана причина; - заведены восемь задач под пункты «Завершения», которых не закрывала ни одна запись, — цель any-audio-source была без задач вовсе; - у четырёх задач сняты критерии, требовавшие того, что делает задача ниже по очереди; исправлены ссылки на несуществующий repo/sqlite и на отменённую разведку об очереди.
2.8 KiB
2.8 KiB
✨ Оповещать владельца об отказе, не дожидаясь жалобы
- Тип: 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.