Files
transcriber/tasks/items/long-text-delivery.md
T
av 9a54afba60 tasks: заведены три задачи под незакрытые пункты цели о долгих записях
- intake-limits-measure меряет четыре звена, которых не берёт speechkit-limits:
  приём из Telegram и по HTTP, конвертацию и заливку в Object Storage;
- reject-oversized-recording отклоняет запись сверх потолка на приёме,
  long-text-delivery отдаёт текст в сотни килобайт файлом вместо сотни
  сообщений Telegram;
- все шесть пунктов «Завершения» цели теперь закрыты задачами.
2026-08-11 10:28:56 +03:00

42 lines
3.1 KiB
Markdown

# ✨ Отдавать текст в сотни килобайт файлом, а не сотней сообщений
- **Тип:** feature
- **Категория:** Очередь
- **Зачем:** Отправитель Telegram режет текст по 4000 знаков: расшифровка шестичасовой записи придёт сотней сообщений подряд.
- **Теги:** goal:long-recordings
Двигает пункт 4 «Завершения» цели: текст в несколько сотен килобайт доходит и в
Telegram, и в браузере.
Деление по словам (`internal/adapter/telegram/split.go`) остаётся для обычной
расшифровки; сверх названного числа частей вместо потока сообщений уходит один
файл.
## Затрагивает
- `internal/adapter/telegram` — отправка документа помимо текстовых сообщений;
- порог, за которым текст уходит файлом, и его место в конфигурации;
- формат отправляемого файла и его имя, которое не раскрывает имени, данного
пользователем;
- экран чтения записи: показ текста в сотни килобайт и его выгрузка файлом;
- `docs/database.md` — порог числом.
## Критерии приёмки
- Текст, разбиваемый более чем на названное число частей, уходит в Telegram одним
файлом, а не потоком сообщений. Оракул — тест отправителя на тексте в 300 КиБ:
вызов отправки документа один, вызовов отправки сообщения нет.
- Обычная расшифровка по-прежнему приходит сообщениями, разбитыми по словам.
Оракул — существующий тест деления плюс тест на тексте в две части.
- Имя отправляемого файла не содержит имени, данного пользователем, и текста
записи. Оракул — тест: имя собрано из идентификатора задачи.
- Экран чтения открывает текст в сотни килобайт целиком и даёт выгрузить его
файлом. Оракул — тест экрана на подставном API с текстом в 300 КиБ.
## Рамки
Порог считается в частях, а не в байтах: он производен от предела сообщения
Telegram, который задаёт не наш сервис. Формат файла — простой текст, разметки
не добавляем. Инвариант приватности: имя файла пользователя в журнал и в имя
отправляемого документа не попадает.