На главную

Рабочий день 11.09: SEMVO, Sentinel и журнал уведомлений

За день разобрали SEMVO, починили несколько инцидентов в Sentinel, допилили Courier и PULSE, а ещё сверили аналитику и дождались трафика.

Фокус дня

Куда ушло внимание за день — по объёму переписки в AgentChat, 146 сообщений всего.

  • Semvo — 73%
  • Sentinel — 10%
  • Mentor — 5%
  • Analistic — 3%
  • Courier — 3%
  • PULSE — 3%
  • Ai расписание — 3%

Semvo

SEMVO — это мобильный рабочий интерфейс для общения с AI-агентом и ведения сессий. По ходу дня мы доводили его до состояния, где ключи, режимы и поведение диалогов не путаются между собой, а интерфейс меньше мешает самому рабочему потоку.

Сегодня в SEMVO много времени ушло на разведение ключей между новым ключом SEMVO и старым ключом AgentChat, восстановление старого ключа, проверку vault/env/publisher и подключение SEMVO через скилл. Параллельно мы согласовали несколько продуктовых правок: пробный период на сутки, блокировку микрофона и файлов после окончания trial, смарт-режим по умолчанию для платных пользователей, правку верхнего текста и упрощение экрана, где лишние подписи и дублировавшееся название только мешали.

Отдельно разобрали логику архивирования и системного диалога: системный диалог SEMVO нельзя удалять или архивировать, а обычным диалогам нужно дать понятное длинное нажатие с действиями переименовать, заархивировать или отменить. Ещё мы посмотрели воронку установки и поняли, что шаг 2 Install на компьютере вообще не показывался, поэтому его нужно было собирать в компактный формат под телефон и PWA.

Рекомендация на завтра: сначала зафиксировать уже согласованную логику ключей, trial и системного диалога в одном стабильном проходе, а потом отдельно добить UX установки и карточку на главной, чтобы не расползаться на мелкие правки.

Sentinel

Sentinel — это наш контур наблюдения за падениями и авариями в сервисах. Он не про новую фичу для пользователя, а про то, чтобы срабатывать на реальную проблему, быстро находить причину и не допускать повторения.

Сегодня мы разобрали сразу несколько инцидентов. В одном случае причиной оказался не сломанный доступ к секретам, а то, что три скрипта читали /etc/olehov/env повторно уже от пользователя olehov, хотя systemd сам загружает EnvironmentFile. Мы исправили это одним безопасным паттерном: секретный файл остался с правами 600 root:root, а переменные начал передавать systemd без прямого чтения из скриптов. Затем отдельно закрыли ложное systemd-падение и токеновый цикл, оставив сценарий скрытым и ограничив повторение не чаще раза в час.

Ещё один эпизод был про одиночный таймаут чтения Telegram API: причина оказалась не в самом PULSE, а во внешнем readback. Мы убрали повторную отправку сегодняшнего поста, добавили подтверждение через публичный канал только для неоднозначного таймаута и покрыло это изолированными тестами. Потом новый скрин показал уже восстановление после исправления: pulse-channel-post.timer поднялся, упавших portfolio-таймеров не осталось, а Sentinel показал any_failure=False.

Рекомендация на завтра: продолжать чинить только по подтверждённой причине и не трогать лишнее; здесь важнее всего сохранять защиту от повторных падений и не ломать рабочие сценарии ради “косметики”.

Mentor

Mentor — это продукт с ежедневной AI-каруселью и визуальной подачей постов в Instagram. По сути, это не просто генератор картинок, а готовая автоматическая витрина, где важны и шаблон, и фото, и защита от дублей.

Сегодня мы исправляли причину тройного постинга: сервер принимал параллельные запросы, и каждый успевал увидеть статус approved до записи scheduled, поэтому в Zernio создавались три разных поста. После этого мы поменяли механику карусели: вместо семи чёрных карточек сделали короткий двухкарточный шаблон, где первая карточка — хук со студийным фото Олега на весь фон, а вторая уже ведёт к блоку с карточками и воронкой. Дополнительно добавили новые фотографии в постоянный студийный альбом, обновили индекс и запустили ротацию изображений для обложек.

Отдельным шагом мы создали скилл mentor-daily-carousel-design, проверили его структуру, триггеры и то, что он появился во внешнем каталоге автоскиллов. Это уже похоже не на разовую правку, а на устойчивую сборку ежедневного шаблона.

Рекомендация на завтра: закрепить новый двухкарточный шаблон как базовый и проверить, что ротация фото и защита от повторной публикации работают без ручного контроля.

Courier

Courier — это центр управления уведомлениями и журнал их доставки. Через него мы видим, что реально пришло, что записалось в журнал, и можем управлять показом, временем и состоянием конкретного уведомления.

Сегодня в Courier разбирали два практических запроса. Сначала нашли проблему, когда push от [redacted] реально пришёл в 09:10 МСК, но не попал в notification_log; после диагностики стало понятно, что уведомление нужно сначала нормально журналировать, а уже потом давать к нему управление. Затем подтвердили, что существующий тумблер действительно управляет доставкой [redacted] Daily, и добавили новый редактор времени по нажатию на карточку уведомления, чтобы можно было менять расписание прямо из журнала.

Это как раз тот случай, когда продукт уже не просто “принимает события”, а становится интерфейсом для операционного контроля: журнал, редактирование и выключение уведомления должны работать вместе, а не отдельными кусками. Мы аккуратно сверяли незавершённые изменения, чтобы не затереть уже готовую логику, и довели часть кода до синтаксической готовности.

Рекомендация на завтра: добить внешнюю проверку записи в журнал и ручной сценарий изменения времени, чтобы убедиться, что пользовательский путь от push до редактирования замкнут полностью.

PULSE

PULSE — это персональная AI-система энергии с ежедневными чек-инами, привычками и подпиской. Здесь мы одновременно держим и продуктовую механику, и оплату, и удобство экрана, потому что всё это влияет на ежедневное использование.

Сегодня мы поправили баннер на мобильном: длинный текст теперь стоит над кнопкой, а не сжимается в левую узкую колонку. Это маленькая на вид правка, но она убирает визуальный шум и делает экран читаемым на телефоне. Затем вернули тестовую цену с 90 ₽ на 990 ₽ за 30 дней и проверили, что сумма в интерфейсе и платёжной логике действительно совпадает с целевым значением.

Параллельно прогнали тесты оплаты и подписки, а после перезапуска ещё раз сверили production на обеих ширинах экрана. То есть сегодня PULSE одновременно тронули в двух местах: выровняли интерфейсный блок и вернули боевую цену, чтобы продукт снова жил в нормальной коммерческой конфигурации.

Рекомендация на завтра: не добавлять новые фичи, а проверить, что текущая цена, экран и платёжный путь стабильно работают для реальных пользователей; здесь уже важнее трафик и конверсия, чем расширение набора функций.

Analistic

Analistic — это ежедневное аналитическое уведомление по UTM-воронке и выручке. Оно не отдельный публичный продукт в классическом смысле, а скорее рабочий отчёт, который должен формироваться, сохраняться в журнал и по необходимости уходить в Telegram.

Сегодня мы разобрали уведомление 📊 Analytics · t-0036 и уточнили, что тумблер Analytics Daily (t-0036) уже реализован, но раньше управлял только Telegram, а сам отчёт жил отдельно. После этого мы развели каналы: отчёт теперь имеет отдельный journal, а выключенный Telegram не мешает записи, то есть можно сохранять данные без обязательной отправки.

По фактам за вчерашний день в отчёте было 321 клик, 5 регистраций, 1 заказ, 2 оплаты и 180 ₽ выручки. По продуктам там отдельно видны pulse, music и olehov, так что это уже не просто “цифры ради цифр”, а живая сводка по нескольким направлениям.

Рекомендация на завтра: проверить выключенный путь целиком и убедиться, что отчёт надёжно пишет в журнал даже тогда, когда Telegram отправку отключили тумблером.

AI расписание

Этот контур отвечает за рекламный и продуктовый поток, где мы смотрим, доходит ли человек от клика до диалога, счёта и оплаты. В отличие от предыдущих разделов, здесь сегодня не чинили код, а именно проверяли, есть ли вообще техническая проблема.

Аудит показал, что касса, бот и Moscow работают, но новых покупателей до счёта сейчас нет. На момент проверки был только один рекламный клик и ноль новых диалогов; вчера после 101 клика ситуация была похожей. Значит, сейчас узкое место не в платёжной или серверной части, а в том, что не хватает целевого трафика.

Мы отдельно зафиксировали, что сейчас нужно просто ждать и смотреть на новый поток кликов: если появятся диалоги и счёт, можно будет двигаться дальше; если будет счёт без оплаты, тогда уже разбирать предложение и доверие. Это хороший пример дня, когда система в целом работает, а главная задача — не ломать её лишними правками.

Рекомендация на завтра: дождаться ещё примерно 20–30 целевых кликов и смотреть не на абстрактную активность, а на появление диалогов и счётов.

Итог дня

День вышел очень прикладной: мы одновременно чинили системные сбои, выравнивали интерфейсы и собирали более надёжные операционные контуры вокруг уведомлений, сессий и отчётов. По ощущениям, меньше было “строительства с нуля”, и больше — вычищения мест, где продукт уже живёт, но ломается на краях.

Главная общая линия дня — переводить хаос в понятные правила: где ключ, где системный диалог, где запись в журнал, где подтверждение падения, а где уже просто нужно ждать трафик. Именно такие дни потом и дают спокойную ежедневную работу без ручного спасения каждого сценария.

Ссылка на текущий рабочий контур: PULSE.