- 11 записей типа goal закрыты с причиной, называющей задачи-наследники; ROADMAP.md удалён, индекс остался один — BACKLOG.md; - 33 записи переписаны: ссылка «Двигает пункты N «Завершения» цели» уступила место прямому утверждению — без целей номера пунктов вели в никуда; - шапка BACKLOG.md размечена парой <!-- стадия -->, порядок строк теперь объявлен зависимостью, а не важностью.
44 lines
3.5 KiB
Markdown
44 lines
3.5 KiB
Markdown
# ✨ Считать заголовок, темы и пересказ внешней моделью
|
|
|
|
- **Тип:** feature
|
|
- **Категория:** Очередь — Уровни текста: сюда приходит пятая внешняя зависимость, и конвейер к этому моменту покрыт тестами.
|
|
- **Зачем:** Расшифровка доходит стеной текста: ни заголовка, ни тем, ни пересказа сервис не считает, и клиента языковой модели в нём нет.
|
|
|
|
У готовой записи появляются заголовок, пересказ и темы, а отказ и молчание
|
|
модели не роняют задачу.
|
|
|
|
Здесь появляется пятая внешняя зависимость — языковая модель с
|
|
OpenAI-совместимым интерфейсом за шлюзом bifrost, — и текст расшифровки уходит
|
|
ещё на одну сторону.
|
|
|
|
## Затрагивает
|
|
|
|
- `internal/contract` — интерфейс расчёта выводов из текста;
|
|
- новый адаптер OpenAI-совместимого клиента и подставной адаптер для тестов;
|
|
- конвейер: шаг после `transcribe`, его состояние и место в цепочке;
|
|
- колонки заголовка, тем и пересказа у задачи и их миграция;
|
|
- контракт чтения записи: новые поля ответа;
|
|
- секция конфигурации: адрес шлюза, имя модели, ключ;
|
|
- `docs/architecture.md` — внешняя зависимость и чем она отказывает;
|
|
- `docs/security.md` — текст расшифровки уходит на внешний сервис.
|
|
|
|
## Критерии приёмки
|
|
|
|
- Дошедшая до `done` запись несёт заголовок в одну строку, список тем и пересказ
|
|
в два-три предложения. Оракул — тест конвейера на подставной модели: три поля
|
|
заполнены, заголовок без переносов строки.
|
|
- Отказ и молчание модели не роняют задачу: текст доходит до человека без
|
|
выводов. Оракул — тест с моделью, возвращающей ошибку и таймаут: задача в
|
|
`done`, текст на месте, в журнале одна запись уровня `WARN`.
|
|
- Ключ и адрес шлюза не попадают ни в журнал, ни в ответ. Оракул — тест шага с
|
|
перехваченным журналом.
|
|
|
|
## Рамки
|
|
|
|
Литературный текст сюда не входит — это `literary-text-level`. Выборочность по
|
|
настройкам пользователя тоже: здесь считаются все уровни, а выключать их учит
|
|
`settings-applied-in-pipeline`. Своей модели не
|
|
держим и промптов в код не зашиваем сверх необходимого. Прогон на боевом ключе
|
|
ради проверки запрещён: подставной адаптер. Обращение к модели платное, и
|
|
объём расхода учитывает `usage-accounting`.
|