Почта, чаты и лента: уровень 3 в действии¶
Методология (Шаг 7) на уровне 3 предполагает автоприём почты и чатов с отбраковкой 95%. Практика организации показывает, как этот приём устроен и какие правила его удерживают.
Где реализовано
poh-mail-core (почта для работы через агента), comunager-hub (мост корпоративного мессенджера и Telegram в закрытый Matrix, лента, контур упоминаний), poh-widget-news (виджет ленты). Зрелость: шлюз почты, предохранитель, мост и лента — в эксплуатации; классификация почты по слоям, треды и действия по ✅ — спецификация и тикеты.
Почта, прочитанная агентом¶
Почта читается агентом и голосом, а не клиентом. Важное письмо — тред в мессенджере с готовым черновиком ответа; отправка и ответ на приглашение — только по ✅ (автономность).
Классификация по стоимости, в три слоя:
- Готовые детерминированные модули (фильтр спама только по символам): рассылки, недоставки.
- Собственные эвристики: решение владельца по отправителю, «кому: я / копия / список», писал ли я этому человеку, ответ в моём треде, упоминание имени.
- Модель — только для остатка, без инструментов, одна сессия на письмо, текст помечен как недоверенный.
Итог — одна категория Outlook на письмо (Важное, Нужен ответ, К сведению, Лента, Квитанции). Правка владельца в клиенте — обучение. Новый отправитель: письмо доставляется сразу, в треде вопрос «Это верно?». Черновик в стиле владельца готовится заранее для «Нужен ответ».
Предохранитель общей учётки. Каждый вход с неверным паролем — попытка в каталоге учётных записей без задержки. Поэтому первый же отказ пароля (порог 1, раньше 2) создаёт блокирующий файл, останавливает шлюз и шлёт тревогу; пока файл стоит, шлюз не стартует и программы не получают пароль; снимает только человек. Это пример внешней зависимости, которую нужно охранять как общий ресурс.
«Меня позвали»: контур упоминаний¶
Если владельца упомянули в групповом чате (по идентификатору, не по имени) или ответили в его треде, алерт приходит в комнату ленты за ≤ 15 секунд, с push, от имени автора. Обсуждение зеркалится в тред на сутки; ответ владельца в треде уходит обратно в чат со статусом ✓ / ⏳ / ❌. Это реализация вопроса «кто и что от меня ждёт» — симметрично «Мне обещали» (обещания).
Модуль живёт в процессе моста на уже открытом подключении; ошибка модуля не роняет основной процесс; повтор безопасен (тот же алерт не создаётся дважды). Расширения: «позвали по имени в письме» (рассылки не оповещают, письма старше двух часов не берутся), правила «куда идёт письмо» в виджете ленты, «Отправить?» с реакциями ✅/❌ под черновиком.
Лента¶
Сборщик читает групповые чаты и почту без модели: тема = тред или сообщения без треда с паузой меньше 15 минут; публикуется после минут тишины. Ветка — стенограмма: новые реплики встают в конец линии, любой пост показывает всё по порядку и по разу (инвариант закреплён тестом). Уровни чатов (главное / остальные / не собирать) ставятся один раз, дальше приоритет задают подписки владельца.
Правила, оплаченные инцидентами:
- Склейка людей только по явной карте и точному «Имя Фамилия»; похожие имена — кандидаты. Ошибочная склейка молча смешивает слова двух людей.
- Пересборка истории — только по команде владельца. Дважды за четыре дня пересборка стёрла историю ленты.
- Запись из ленты назад в чат — не больше 10 действий за проход, каждое в журнале.
- Новый источник проверяется по всем местам с перечнем источников, а не только в порте: однажды новый источник уронил весь проход.
Что это даёт методологии¶
Подтверждает цепочку «поток → кандидаты → артефакт → знание» (раздел 14): сборщики пишут только в очередь, человек и детерминированный инструмент решают, что станет знанием. Показывает цену приёма: охрана общей учётки, тесты инвариантов, журналы действий.