Работа лички — требования и реализация 1. отдели логику лички от логики групповых чатов. не смешивай. Работа лички. сообщения и медиа доставляется напрямую если узел доступен через bgp. если недоступен - то pending сообщения сохраняются на суперузле и pending media сохраняется на каком-либо медиаузле, а суперузлу сообщается где хранится медиа. при появлении пира суперузел организует доставку медиа до получателя. после успешной доставки медиа/сообщений они удаляются с промежуточных узлов. время хранения медиафайлов на промежуточных узлах ограничено - 1 неделя по умолчанию (задачется в конфиге этих узлов). для доставки медиа поднимаем линк (conn_mgr). Контракты реализации проверены 27.10.2026: src/dm/ и doc/dm_arch.md. «Напрямую» означает доставку endpoint через живой маршрут общей CHAT-группы, в том числе с BGP-транзитом; физический линк между A и B не обязателен. Беседа имеет собственные историю/seq/outbox и не создаёт отдельную TOPO_GROUP. Общие с групповыми вложениями примитивы: media_async, шифрование потоков, attachment_info, voice_file; DM не использует групповой HAVE_BLOCK и его хранилище. S выбирается по подписанному adm_tags supernode=yes, M — storage=yes в общей группе A/B. Роли независимы и могут совмещаться на одном узле. A сохраняет исходящую задачу до подписанной квитанции B; STORED от S/M не означает доставку получателю. Текстовая квитанция подтверждает commit сообщения, файловая — проверку ciphertext, публикацию файла и сохранение результата. S повторяет удаление у M до DELETE_ACK либо завершения подтверждённого срока назначения; сохраняются служебные tombstones. На M настройки чата dm_media_ttl_sec=604800 и dm_media_storage_mb=1024 задают TTL в секундах и квоту в МиБ. Повтор STORE не продлевает TTL; при нехватке квоты новое размещение отклоняется, подтверждённая копия не вытесняется до срока. Текстовые pending не имеют TTL. Истечение копии M не удаляет оригинал A и не мешает B получить его после возвращения A; локальное удаление истории не отзывает копии S/M. Подробные wire-форматы, жизненный цикл и проверки: doc/dm_arch.md и src/dm/*.h.