- 11 записей типа goal закрыты с причиной, называющей задачи-наследники; ROADMAP.md удалён, индекс остался один — BACKLOG.md; - 33 записи переписаны: ссылка «Двигает пункты N «Завершения» цели» уступила место прямому утверждению — без целей номера пунктов вели в никуда; - шапка BACKLOG.md размечена парой <!-- стадия -->, порядок строк теперь объявлен зависимостью, а не важностью.
2.7 KiB
2.7 KiB
✨ Отдавать вычитанный текст рядом с сырым
- Тип: feature
- Категория: Очередь — Вычитанный текст считается тем же адаптером.
- Зачем: Сырая расшифровка идёт без знаков препинания, с повторами и словами-паразитами: читать её подряд тяжело, а другого уровня текста нет.
У записи появляется второй уровень текста — тот же разговор, вычитанный до читаемого вида.
Вычитку считает та же внешняя модель, что заголовок и темы. Сырой текст остаётся и не переписывается: уровни лежат рядом, а не поверх друг друга.
Затрагивает
- колонка литературного текста у задачи и её миграция;
- контракт чтения записи: поле рядом с сырым текстом;
- шаг выводов из текста: ещё одно обращение к модели;
- экран чтения записи: переключение между уровнями;
- ответ бота: какой из уровней уходит в Telegram.
Критерии приёмки
- У дошедшей до
doneзаписи есть литературный текст, а сырой остался нетронутым. Оракул — тест конвейера на подставной модели: оба поля заполнены, сырое совпадает с ответом распознавания. - Отказ модели на вычитке не роняет задачу и не портит сырой текст. Оракул —
тест с моделью, возвращающей ошибку: задача в
done, сырой текст на месте. - Экран показывает оба уровня с переключением между ними. Оракул — тест экрана на подставном API.
Рамки
Ручной правки текста человеком не делаем — это граница паспорта: сервис отдаёт
машинную вычитку, а редактором не становится. Берётся после
llm-insights-adapter: клиент модели заводит она. Выключение уровня настройкой
пользователя сюда не входит — это settings-applied-in-pipeline.