- порядок беклога и роадмапа назначен слоями: проверки, которым можно верить → долги входа → владелец записи и контракт API → конвейер под тестами → приложение и возможности поверх; у каждого движения записана причина; - заведены восемь задач под пункты «Завершения», которых не закрывала ни одна запись, — цель any-audio-source была без задач вовсе; - у четырёх задач сняты критерии, требовавшие того, что делает задача ниже по очереди; исправлены ссылки на несуществующий repo/sqlite и на отменённую разведку об очереди.
43 lines
3.4 KiB
Markdown
43 lines
3.4 KiB
Markdown
# ✨ Принимать видео и брать из него звуковую дорожку
|
|
|
|
- **Тип:** feature
|
|
- **Категория:** Очередь — Приём видео и отказ неизвестному формату ставятся на замеренный перечень.
|
|
- **Зачем:** Запись семейного архива приходит видеофайлом, а приём смотрит на аудио: человеку приходится доставать дорожку самому.
|
|
- **Теги:** goal:any-audio-source
|
|
|
|
Двигает пункты 2 и 3 «Завершения» цели: видеофайл принимается и из него берётся
|
|
звуковая дорожка, а формат, который принять нельзя, отклоняется на приёме
|
|
понятным текстом, а не отказом на конвертации через минуту.
|
|
|
|
Берётся после `audio-format-coverage-measure`: чем отклонять неизвестное, пока
|
|
неизвестно, что конвейер берёт.
|
|
|
|
## Затрагивает
|
|
|
|
- приём обоими входами: перечень допустимых типов содержимого и расширений;
|
|
- адаптер метаданных — распознавание дорожек в контейнере;
|
|
- команда конвертера: выбор звуковой дорожки из видео;
|
|
- метка формата в метрике — перечень известных форматов расширяется
|
|
([ADR](../../docs/adr/ADR-2026-08-11-known-format-label.md));
|
|
- `docs/passport.md` — граница «что принимаем» сдвигается на видео;
|
|
- `openspec/specs/intake/` — требование о принимаемых форматах.
|
|
|
|
## Критерии приёмки
|
|
|
|
- Видеофайл с одной звуковой дорожкой доходит до текста. Оракул — тест приёма и
|
|
конвертации на своём коротком видео из временного каталога.
|
|
- Видео без звуковой дорожки отклоняется на приёме понятным текстом и задачи не
|
|
заводит. Оракул — тест: файл без звука, ответ с причиной, в очереди пусто.
|
|
- Формат вне замеренного перечня отклоняется на приёме, а не висит в конвейере.
|
|
Оракул — тест на файле неизвестного типа: отказ приходит сразу.
|
|
- Расширение в журнале и метка в метрике остаются в перечне известных форматов.
|
|
Оракул — тест: на видео с новым контейнером в журнал уходит расширение из
|
|
перечня, а не сырое расширение файла, и метка метрики берётся из того же
|
|
перечня.
|
|
|
|
## Рамки
|
|
|
|
Видео с несколькими звуковыми дорожками берём первую, выбор дорожки человеком за
|
|
задачей не стоит. Потолок длины остаётся тем, что назначит цель
|
|
`long-recordings`.
|