Рабочий день 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.
Рассылка новых статей
Новые статьи — на email. Push приходит в приложение Blog. Telegram-рассылка отключена.
Чтобы получать статьи на email, сначала привяжите email в личном кабинете.
Уведомления в приложении: blog.olehov.com → колокольчик.
Получайте новые статьи и разборы
Подпишитесь через email — без спама, только новые материалы.