- порядок беклога и роадмапа назначен слоями: проверки, которым можно верить → долги входа → владелец записи и контракт API → конвейер под тестами → приложение и возможности поверх; у каждого движения записана причина; - заведены восемь задач под пункты «Завершения», которых не закрывала ни одна запись, — цель any-audio-source была без задач вовсе; - у четырёх задач сняты критерии, требовавшие того, что делает задача ниже по очереди; исправлены ссылки на несуществующий repo/sqlite и на отменённую разведку об очереди.
42 lines
3.3 KiB
Markdown
42 lines
3.3 KiB
Markdown
# ✨ Считать только те уровни текста, что включены у владельца записи
|
|
|
|
- **Тип:** feature
|
|
- **Категория:** Очередь — Выключать нечего, пока уровней нет; настройка ставится сразу за ними, чтобы платная модель не считала лишнее.
|
|
- **Зачем:** Дом настроек есть, а конвейер их не читает: выключенный уровень всё равно уходит платной модели, и настройка ничего не экономит.
|
|
- **Теги:** goal:user-settings
|
|
|
|
Двигает пункты 1 и 4 «Завершения» цели: выключенный уровень не запрашивается у
|
|
языковой модели вовсе, а запись обрабатывается по той настройке, которая
|
|
действовала на приёме.
|
|
|
|
Берётся после `settings-screen` (настройки негде хранить) и после
|
|
`llm-insights-adapter` (нечего выключать).
|
|
|
|
Настройка снимается **на приёме** и едет с задачей: правка настроек посреди
|
|
обработки не меняет того, что уже считается, и не оставляет запись наполовину
|
|
обработанной.
|
|
|
|
## Затрагивает
|
|
|
|
- колонка снимка настроек у задачи и её шаг схемы;
|
|
- заведение задачи обоими входами: бот и приём по HTTP;
|
|
- шаг конвейера, обращающийся к языковой модели, — выбор уровней перед вызовом;
|
|
- `internal/contract` — интерфейс расчёта выводов: состав запрошенных уровней;
|
|
- `docs/database.md` — колонка снимка и её значение по умолчанию.
|
|
|
|
## Критерии приёмки
|
|
|
|
- Выключенный уровень не запрашивается у модели ни одним обращением. Оракул —
|
|
тест с подставным адаптером: у пользователя выключены пересказ и темы, адаптер
|
|
получает запрос без них и не вызывается второй раз.
|
|
- Запись обрабатывается по настройке, действовавшей на приёме. Оракул — тест:
|
|
завести задачу, сменить настройки владельца, прогнать шаг — считается прежний
|
|
состав уровней.
|
|
- У пользователя без настроек берутся значения по умолчанию, а задача не падает.
|
|
Оракул — тест на приёме от пользователя, у которого строки настроек нет.
|
|
|
|
## Рамки
|
|
|
|
Экран настроек и таблицу заводит `settings-screen` — здесь только чтение
|
|
настройки конвейером. Уже обработанные записи задним числом не пересчитываются.
|