# Исправления аудита 7 сентября 2026 ## Исправлено в рабочей версии - [x] Очередь внешних наблюдений фильтруется в SQL до limit/offset; UI показывает по 50 записей с навигацией, опубликованные записи не вытесняют ожидающие проверки. - [x] Таймаут SSR-запроса к API: 8 секунд. Все пять страниц каталогов возвращают 503, Retry-After и no-store при сбое API; отсутствие сущности по-прежнему даёт 404. - [x] Убрать выдуманный процент полноты, зависящий от числа уловов. - [x] Различать время улова и поступления; показывать точное время UTC. - [x] Объединять только повтор одного ID источника, а не похожие события. - [x] Ограничить кэш 128 ключами и защитить запись от устаревшего поколения. - [x] Запретить браузерное кэширование активности; серверный TTL сохраняется. - [x] Перенести фильтрацию активности в SQL. - [x] Строить шкалу по полной выборке одобренных записей, с явными 12-часовыми интервалами по reported_at. - [x] Возвращать 404 для отсутствующей точки и 503 для недоступности API. - [x] Захватывать блокировку scheduler до чтения cooldown и фиксировать резервирование до HTTP. - [x] Выполнять rollback перед сохранением ошибки scheduler. ## Остаётся - [ ] Единый лимит по сайту для CLI и scheduler, включая неуспешные попытки. - [ ] Межпроцессная инвалидация: сейчас фоновая публикация видна после TTL. - [x] Изменённая публикация снимается с активности и отправляется на ручное сопоставление. Подтверждение обновляет прежний CatchReport без дубликата; старый снимок сохраняется до подтверждения. Изменения видны в API после TTL кэша. - [ ] Обнаружение удалённых оригиналов и долговременная история всех редакций источника. - [x] Sitemap постоянных страниц с пагинацией, без ограничения активности 72 часами. Последняя успешная версия хранится в памяти процесса; после перезапуска при недоступном API возвращается 503. - [x] Подключить API подсказок алиасов к административному UI: кнопка показывает подтверждённые русские названия; выбор и сохранение остаются отдельными действиями. - [x] Web Dockerfile использует npm ci; инструменты проверки/тестирования перенесены в devDependencies и удаляются перед копированием runtime. Обновлён lock-файл без сети. Сборка Docker-образа остаётся проверкой перед деплоем. - [ ] Оптимизировать изображения и Python production-зависимости. - [ ] Визуальная проверка 320/390/768/1280 px, исправление карточек и пустых состояний. - [ ] Согласовать остальные формулировки README/roadmap с фактическим поведением. Существовавшие перед этим пакетом незакоммиченные изменения кэша и карточек сохранены.