Разборы
Что было, что поменяли, что можно откатить и что получилось. С цифрами до и после.
Разбор входящей почты: от письма к черновику задачи
Ящик собирает клиентов, счета, уведомления и рассылки в одну кучу, а задачи в трекере живут без ссылки на письмо. Разбор механики: детерминированные правила, схема разбора, черновик карточки, идемпотентность по треду.
Проверка данных перед загрузкой: стейджинг и сухой прогон
Импорт либо падает на середине, либо проходит «успешно» и через неделю обнаруживается в ценах и справочниках. Разбор механики: профилирование файла, правила как код, промежуточная схема, прогон без записи, batch_id для отката.
Приём заявок с сайта: от формы до задачи у ответственного
Разбор механики: форма пишет заявку в собственную базу до всякой пересылки, модель раскладывает текст по полям, маршрутизацию решает таблица правил, а не модель. Плюс монитор тишины — чтобы сломавшаяся форма не молчала две недели.
Ответы на однотипные вопросы клиентов без оператора
Разбор механики: корпус обращений размечается по намерению, база знаний собирается из ответов операторов, бот отвечает только найденным куском со ссылкой на источник, а всё остальное отдаёт человеку вместе с историей диалога.
Сбор отчёта из нескольких источников в один документ
Разбор механики: словарь метрик пишется до кода, источники читаются через API, каждый ответ сохраняется снимком, числа считает SQL, а модель только описывает изменения. Плюс типовые причины расхождений — таймзоны и сдвиг денежных поступлений.
Один исходник, несколько каналов: конвейер публикации
Ручной постинг по нескольким каналам ломается на разметке, метках в ссылках и повторных отправках после сбоя. Разбор механики: один исходник, адаптер на канал, очередь с идемпотентным ключом, планировщик.
Раз в неделю — письмо
Что вышло, что из этого стоит внимания и что я сам попробовал. Без пересказа новостей, которые вы и так видели.