diff --git a/docs/agent/COMPLETED_TASKS.md b/docs/agent/COMPLETED_TASKS.md index d3dc882..5431c4b 100644 --- a/docs/agent/COMPLETED_TASKS.md +++ b/docs/agent/COMPLETED_TASKS.md @@ -2,6 +2,20 @@ Архив задач, переведённых в статус `DONE`. +### ED-049 — Оптимизировать медиа пакета локальной игры + +- Статус: `DONE` +- Цель: уменьшать фото, аудио и видео при подготовке ZIP, сохраняя исходники в хранилище. +- Решение: WebP quality 85, MP3 128 кбит/с, MP4 H.264 CRF 23/AAC 128 кбит/с; фото и видео до 1920 пикселей по длинной стороне без увеличения. PDF и анимации не менять; при ошибке или увеличении веса брать исходник. +- Критерии: корректные ссылки, MIME и хеши, дедупликация, импорт версии 2, отмена и очистка временных файлов. FFmpeg установлен в серверных образах. +- Проверка: табличные тесты с реальным FFmpeg, `go test ./...`, ручное ревью по GO_STANDARD.md, проверка образов и браузерный smoke при доступности среды. +- Ограничения: API, БД, исходники и готовые ZIP не менять; текущие лимиты сохранить; commit/push не выполнять. +- Результат: преобразование выполняется последовательно во временной папке; до двух минут на файл и двух потоков FFmpeg. Сетевые протоколы запрещены; исходники, готовые ZIP и лимиты сохранены. Документация пакета обновлена. +- Проверено: `gofmt`, `go test ./...`, `git diff --check` в затронутых репозиториях — успешно. Diff вручную проверен по GO_STANDARD.md. Табличные тесты с реальным FFmpeg проверяют горизонтальные и вертикальные фото/видео, отсутствие увеличения, прозрачность, длительность, стерео, видео со звуком и без, PDF/GIF/APNG/анимированный WebP, fallback при ошибке/отсутствии утилит/увеличении размера, отмену процесса и очистку временных результатов. Pack/Unpack версии 2 проверяет ссылки и хеши. +- Проверено: собраны оба Docker-образа, доступны ffprobe и кодеки libwebp/libmp3lame/libx264/AAC. Firefox отобразил прозрачные WebP и воспроизвёл MP3/MP4, извлечённые из подготовленного пакета. +- Примеры на синтетических материалах: фото 8 371 804 → 1 265 320 байт; аудио 352 878 → 33 061 байт; видео 1 113 441 → 308 962 байта. +- Не проверено: production и реальные дела; DB-интеграционные тесты без TEST_DATABASE_URL пропущены штатно. FFmpeg увеличивает размер серверного образа; сжатие с потерями может ухудшить различимость мелких деталей. Commit/push не выполнялись; существовавший изменённый backend-бинарник не перезаписывался. + ### ED-048 — Очистка локальной площадки - Статус: `DONE`