Перейти к содержанию

Почта, чаты и лента: уровень 3 в действии

Методология (Шаг 7) на уровне 3 предполагает автоприём почты и чатов с отбраковкой 95%. Практика организации показывает, как этот приём устроен и какие правила его удерживают.

Где реализовано

poh-mail-core (почта для работы через агента), comunager-hub (мост корпоративного мессенджера и Telegram в закрытый Matrix, лента, контур упоминаний), poh-widget-news (виджет ленты). Зрелость: шлюз почты, предохранитель, мост и лента — в эксплуатации; классификация почты по слоям, треды и действия по ✅ — спецификация и тикеты.

Почта, прочитанная агентом

Почта читается агентом и голосом, а не клиентом. Важное письмо — тред в мессенджере с готовым черновиком ответа; отправка и ответ на приглашение — только по ✅ (автономность).

Классификация по стоимости, в три слоя:

  1. Готовые детерминированные модули (фильтр спама только по символам): рассылки, недоставки.
  2. Собственные эвристики: решение владельца по отправителю, «кому: я / копия / список», писал ли я этому человеку, ответ в моём треде, упоминание имени.
  3. Модель — только для остатка, без инструментов, одна сессия на письмо, текст помечен как недоверенный.

Итог — одна категория Outlook на письмо (Важное, Нужен ответ, К сведению, Лента, Квитанции). Правка владельца в клиенте — обучение. Новый отправитель: письмо доставляется сразу, в треде вопрос «Это верно?». Черновик в стиле владельца готовится заранее для «Нужен ответ».

Предохранитель общей учётки. Каждый вход с неверным паролем — попытка в каталоге учётных записей без задержки. Поэтому первый же отказ пароля (порог 1, раньше 2) создаёт блокирующий файл, останавливает шлюз и шлёт тревогу; пока файл стоит, шлюз не стартует и программы не получают пароль; снимает только человек. Это пример внешней зависимости, которую нужно охранять как общий ресурс.

«Меня позвали»: контур упоминаний

Если владельца упомянули в групповом чате (по идентификатору, не по имени) или ответили в его треде, алерт приходит в комнату ленты за ≤ 15 секунд, с push, от имени автора. Обсуждение зеркалится в тред на сутки; ответ владельца в треде уходит обратно в чат со статусом ✓ / ⏳ / ❌. Это реализация вопроса «кто и что от меня ждёт» — симметрично «Мне обещали» (обещания).

Модуль живёт в процессе моста на уже открытом подключении; ошибка модуля не роняет основной процесс; повтор безопасен (тот же алерт не создаётся дважды). Расширения: «позвали по имени в письме» (рассылки не оповещают, письма старше двух часов не берутся), правила «куда идёт письмо» в виджете ленты, «Отправить?» с реакциями ✅/❌ под черновиком.

Лента

Сборщик читает групповые чаты и почту без модели: тема = тред или сообщения без треда с паузой меньше 15 минут; публикуется после минут тишины. Ветка — стенограмма: новые реплики встают в конец линии, любой пост показывает всё по порядку и по разу (инвариант закреплён тестом). Уровни чатов (главное / остальные / не собирать) ставятся один раз, дальше приоритет задают подписки владельца.

Правила, оплаченные инцидентами:

  • Склейка людей только по явной карте и точному «Имя Фамилия»; похожие имена — кандидаты. Ошибочная склейка молча смешивает слова двух людей.
  • Пересборка истории — только по команде владельца. Дважды за четыре дня пересборка стёрла историю ленты.
  • Запись из ленты назад в чат — не больше 10 действий за проход, каждое в журнале.
  • Новый источник проверяется по всем местам с перечнем источников, а не только в порте: однажды новый источник уронил весь проход.

Что это даёт методологии

Подтверждает цепочку «поток → кандидаты → артефакт → знание» (раздел 14): сборщики пишут только в очередь, человек и детерминированный инструмент решают, что станет знанием. Показывает цену приёма: охрана общей учётки, тесты инвариантов, журналы действий.