- каталог задач: PLAN.md → ROADMAP.md с каноническими секциями, все 44 записи получили тип, заголовки приведены к форме своего типа - расхождения, найденные судьями канона: исключения инварианта «источник неприкосновенен», инвариант про один активный infohash, UTC в logging.md, поведение из architecture.md заменено ссылками на спеки - триггеры профиля ревью переписаны под умолчание standard
1.7 KiB
1.7 KiB
✨ Спаривать VobSub .idx+.sub и проставлять языковой суффикс субтитра
- Тип: feature
- Категория: Ядро продукта
- Зачем: Привязка субтитр→серия уже работает; остались пары VobSub .idx+.sub и потеря Lang/Flags
- Теги: goal:complex-releases
Базовая привязка субтитр→серия для сериала уже работает: layout.PlanFile несёт
Season/Episode, а seriesDst именует субтитр по стему эпизода
(internal/layout/layout.go, код старше аудита 2026-07-03). Для фильма тоже —
субтитр именуется по базе видеофайла.
Реальные пробелы, оставшиеся от аудита:
- Пары VobSub
.idx+.subне спариваются — их надо переносить вместе как одну дорожку. - Языковой суффикс теряется: у
recognize.PlanFileнет полейLang/Flags, иtoLayoutPlan(internal/httpapi/review.go) не проставляет язык — субтитр ляжет без*.ru.srt-суффикса, который ждёт Jellyfin.
Смоделировать язык/флаги субтитра сквозь recognize→layout и спаривание .idx+.sub;
спека recognition уже требует «внешние субтитры SHALL привязываться к видео».
Связано: openspec/specs/recognition, specs/jellyfin-layout.md, пакеты recognize, layout.