Files
transcriber/tasks/items/upload-reliability.md
T
av 8739b18a9f tasks: очередь расставлена от базы к деталям
- порядок беклога и роадмапа назначен слоями: проверки, которым можно
  верить → долги входа → владелец записи и контракт API → конвейер под
  тестами → приложение и возможности поверх; у каждого движения записана
  причина;
- заведены восемь задач под пункты «Завершения», которых не закрывала ни
  одна запись, — цель any-audio-source была без задач вовсе;
- у четырёх задач сняты критерии, требовавшие того, что делает задача ниже
  по очереди; исправлены ссылки на несуществующий repo/sqlite и на
  отменённую разведку об очереди.
2026-08-12 20:48:53 +03:00

26 lines
2.2 KiB
Markdown

# 🎯 Загрузка большого файла доходит до сервиса и не повторяется впустую
- **Тип:** goal
- **Секция:** Запланировано — Дедупликация и пачка файлов доводятся на готовом экране загрузки и экономят деньги с первого дня приложения.
- **Зачем:** Приём рассчитан на голосовое в пару мегабайт: обрыв на середине гигабайтного файла начинает загрузку заново, а один и тот же файл распознаётся повторно за наши деньги.
- **Теги:** decomposed
Человек отдаёт диктофонную запись или видео из семейного архива с телефона, по
сотовой сети, и загрузка либо доходит, либо честно говорит, что не дошла.
Отданное однажды второй раз не грузится и второй раз не распознаётся.
Дедупликация ищет совпадение **в пределах одного пользователя**: чужая
расшифровка не достаётся по совпадению хеш-суммы, даже когда файл тот же.
Загрузка частями за целью пока **не стоит**: сначала один запрос, а протокол
докачки разбирает разведка.
## Завершение
1. Файл, уже загруженный этим пользователем, узнаётся по хеш-сумме: сервис
возвращает прежнюю запись и не заводит вторую задачу.
2. До десяти файлов уходят одной загрузкой, и отказ одного не отменяет
остальные.
3. Ход загрузки виден на экране числом, а не одним ожиданием.
4. Оборванная загрузка не оставляет ни файла в хранилище, ни задачи в очереди.