- порядок беклога и роадмапа назначен слоями: проверки, которым можно верить → долги входа → владелец записи и контракт API → конвейер под тестами → приложение и возможности поверх; у каждого движения записана причина; - заведены восемь задач под пункты «Завершения», которых не закрывала ни одна запись, — цель any-audio-source была без задач вовсе; - у четырёх задач сняты критерии, требовавшие того, что делает задача ниже по очереди; исправлены ссылки на несуществующий repo/sqlite и на отменённую разведку об очереди.
38 lines
2.8 KiB
Markdown
38 lines
2.8 KiB
Markdown
# ✨ Отдавать вычитанный текст рядом с сырым
|
||
|
||
- **Тип:** feature
|
||
- **Категория:** Очередь — Вычитанный текст считается тем же адаптером.
|
||
- **Зачем:** Сырая расшифровка идёт без знаков препинания, с повторами и словами-паразитами: читать её подряд тяжело, а другого уровня текста нет.
|
||
- **Теги:** goal:text-insights
|
||
|
||
Двигает пункт «Завершения» цели про литературный текст: у записи появляется
|
||
второй уровень — тот же разговор, вычитанный до читаемого вида.
|
||
|
||
Вычитку считает та же внешняя модель, что заголовок и темы. Сырой текст
|
||
остаётся и не переписывается: уровни лежат рядом, а не поверх друг друга.
|
||
|
||
## Затрагивает
|
||
|
||
- колонка литературного текста у задачи и её миграция;
|
||
- контракт чтения записи: поле рядом с сырым текстом;
|
||
- шаг выводов из текста: ещё одно обращение к модели;
|
||
- экран чтения записи: переключение между уровнями;
|
||
- ответ бота: какой из уровней уходит в Telegram.
|
||
|
||
## Критерии приёмки
|
||
|
||
- У дошедшей до `done` записи есть литературный текст, а сырой остался
|
||
нетронутым. Оракул — тест конвейера на подставной модели: оба поля заполнены,
|
||
сырое совпадает с ответом распознавания.
|
||
- Отказ модели на вычитке не роняет задачу и не портит сырой текст. Оракул —
|
||
тест с моделью, возвращающей ошибку: задача в `done`, сырой текст на месте.
|
||
- Экран показывает оба уровня с переключением между ними. Оракул — тест экрана
|
||
на подставном API.
|
||
|
||
## Рамки
|
||
|
||
Ручной правки текста человеком не делаем — это граница паспорта: сервис отдаёт
|
||
машинную вычитку, а редактором не становится. Берётся после
|
||
`llm-insights-adapter`: клиент модели заводит она. Выключение уровня настройкой
|
||
пользователя сюда не входит — это `settings-applied-in-pipeline`.
|