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

42 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ✨ Собирать путь одной записи по конвейеру запросом
- **Тип:** feature
- **Категория:** Очередь — Пункт 3 «Завершения» цели не закрывала ни одна задача; применяет словарь, который выберет разведка строкой выше.
- **Зачем:** Звенья пути связаны только идентификатором задачи в строках журнала: чтобы понять, где запись провела минуты, владелец читает логи контейнера глазами.
- **Теги:** goal:service-observability
Двигает пункт 3 «Завершения» цели: путь одной записи по конвейеру собирается
запросом, а не чтением логов глазами.
Путь длиной в минуты идёт через четыре внешних сервиса и три воркера. Сегодня
его звенья связывает `job_id` в строках журнала, и собирает их человек.
**Форма ответа зависит от исхода разведки** `opentelemetry-fit`: с OpenTelemetry
это трасса со спанами на шаг, без него — отметки времени переходов у самой
задачи и запрос по ним. Разведка выбирает словарь, эта задача его применяет.
## Затрагивает
- таблица задач: отметки времени перехода между состояниями и их шаг схемы —
либо экспорт спанов, если разведка выберет трассировку;
- шаги конвейера — место, где отмечается начало и конец звена;
- способ прочитать собранное: запрос к хранилищу либо внешний приёмник трасс;
- `docs/architecture.md`, раздел эксплуатации — как читается путь записи;
- `docs/security.md` — путь записи не несёт ни текста, ни имени файла.
## Критерии приёмки
- Путь записи от приёма до готового текста читается одним обращением, без чтения
журнала. Оракул — тест: прогнать задачу через все шаги на подставных адаптерах
и получить длительность каждого звена.
- Путь отказавшей записи показывает звено, на котором она встала. Оракул — тест
с отказом на конвертации: звено названо, дальнейших звеньев нет.
- Собранное не несёт содержимого записи. Оракул — тест: в ответе только
идентификаторы, состояния, длительности и расширение.
## Рамки
Берётся после `opentelemetry-fit`: пока словарь не выбран, работа рискует быть
переписанной целиком. Хранение путей дольше срока жизни задачи за задачей не
стоит.