Files
transcriber/tasks/items/settings-applied-in-pipeline.md
T
av 8739b18a9f tasks: очередь расставлена от базы к деталям
- порядок беклога и роадмапа назначен слоями: проверки, которым можно
  верить → долги входа → владелец записи и контракт API → конвейер под
  тестами → приложение и возможности поверх; у каждого движения записана
  причина;
- заведены восемь задач под пункты «Завершения», которых не закрывала ни
  одна запись, — цель any-audio-source была без задач вовсе;
- у четырёх задач сняты критерии, требовавшие того, что делает задача ниже
  по очереди; исправлены ссылки на несуществующий repo/sqlite и на
  отменённую разведку об очереди.
2026-08-12 20:48:53 +03:00

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` — здесь только чтение
настройки конвейером. Уже обработанные записи задним числом не пересчитываются.