- каждая запись каталога задач получила тип вместо тега kind: и префикса заголовка; секция роадмапа «Разработка» стала «Сопровождением», порядок секций канонический - поправлены протухшие факты: нереализованные маршруты Read API, MCP и `healthlog import`, словарь слоёв в инварианте, семантика гейта по покрытию диффа, периметр перестал дублировать security.md - замер слияния переведён с находки 49 на находку 54, заполнены Purpose спек storage и parsing
2.5 KiB
✨ Слать уведомление, когда данных нет N часов
- Тип: feature
- Категория: Инфра
- Зачем: Пропажу потока сейчас замечает человек, а не сервис
- Теги: goal:observability
Пропажу потока сейчас замечает человек. /stats покажет факт, но только если
туда заглянуть — а заглядывают ровно тогда, когда уже что-то заподозрили.
Активное уведомление закрывает разрыв: сервис сам сообщает, что данных нет дольше порога. Канал — тот же, что у остальных моих проектов.
Порог не единый: быстрый проход идёт каждые 5 минут, но ночью телефон заблокирован и тишина штатна (находка 28). Значит порог считается по времени суток или по последней успешной доставке каждой автоматизации отдельно.
Приоритет низкий, пока сервис на рабочей машине и я вижу его каждый день. После деплоя на rivendell поднимется.
Двигает строку «Завершения» цели: «Пропажа потока видна владельцу без чтения логов».
Источник уведомления не может жить внутри serve
Отказ стража версии схемы (база новее бинаря) останавливает процесс, а
restart: unless-stopped даёт цикл перезапуска. Значит уведомление «данных нет N
часов», живущий внутри сервиса, на эту причину остановки не сработает по
построению — он не поднимется вместе с ним. Обоснование стража («откат делает
оператор, он в этот момент рядом») верно для ручного отката и не покрывает
перезапуск хоста или откат деплоя.
Пришло из задачи «Дозакрыть находки ревью по слиянию сущностей» (проход ops,
negative).