d8af0aeb44
Docker Image CI / build (pull_request) Has been cancelled
Убрал обратный ход данных: merged-группы больше не конвертируют отрендеренный dict обратно в мок-Message (processed_message_to_tg_message удалён, −84 строки). Футер рендерится прямо из реального главного Message группы. main_message (dict) по-прежнему выбирается тем же критерием-индексом → title/date/author байт-в-байт. Реестр §3: - §3.6 custom-emoji реакции merged-футера — отдельный span на каждую (через реальный _reactions_views_links), а не агрегированная «❓ N»; - §3.7 дата merged-футера из naive-local реального Message (не UTC-мок); в UTC-голдене не видна → выделенный не-UTC тест (TZ=Europe/Moscow); - §3.8 порядок флагов merged-поста детерминирован (first-seen через dict.fromkeys вместо hash-ordered list(set)); временная сортировка флагов снята из оракула (golden_replay нормализатор убран, normalize_html теперь identity); проверено — оракул стабилен на PYTHONHASHSEED 0/1/42; - §3.15 пустой reactions-объект больше не даёт ведущий разделитель (и одиночные). Golden обновлён строго по §3: span +2 (§3.6 сплит custom-реакции), reorder флагов только на merged-постах (§3.8), снят ведущий разделитель на одиночном poll-посте (§3.15). Оракул зелёный и детерминированный (2 прогона идентичны). Полный сюит 353 passed (+6 тестов этапа 2). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>