Files
transcriber/tasks/items/owner-alerting.md
T
av 8739b18a9f tasks: очередь расставлена от базы к деталям
- порядок беклога и роадмапа назначен слоями: проверки, которым можно
  верить → долги входа → владелец записи и контракт API → конвейер под
  тестами → приложение и возможности поверх; у каждого движения записана
  причина;
- заведены восемь задач под пункты «Завершения», которых не закрывала ни
  одна запись, — цель any-audio-source была без задач вовсе;
- у четырёх задач сняты критерии, требовавшие того, что делает задача ниже
  по очереди; исправлены ссылки на несуществующий repo/sqlite и на
  отменённую разведку об очереди.
2026-08-12 20:48:53 +03:00

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.