- порядок беклога и роадмапа назначен слоями: проверки, которым можно верить → долги входа → владелец записи и контракт API → конвейер под тестами → приложение и возможности поверх; у каждого движения записана причина; - заведены восемь задач под пункты «Завершения», которых не закрывала ни одна запись, — цель any-audio-source была без задач вовсе; - у четырёх задач сняты критерии, требовавшие того, что делает задача ниже по очереди; исправлены ссылки на несуществующий repo/sqlite и на отменённую разведку об очереди.
34 lines
2.6 KiB
Markdown
34 lines
2.6 KiB
Markdown
# 🔬 Адрес объекта в тексте отказа SpeechKit
|
||
|
||
- **Тип:** research
|
||
- **Категория:** Очередь — Тот же род утечки в журнал, но вне темы входа — идёт следом за ней.
|
||
- **Зачем:** Текст отказа операции приходит от Yandex и уезжает в журнал и в колонку error_text: если он несёт URI объекта, из журнала снова собирается ссылка на чужую запись.
|
||
|
||
Гипотеза ревью задачи `pocketbase-storage` 2026-08-12, оставшаяся без оракула:
|
||
поднять настоящий отказ Yandex нечем, а прогон на реальных ключах запрещён.
|
||
Собственные цепочки отказов задача оборвала — чтение из хранилища и выгрузка в
|
||
Object Storage больше не называют ключ, — но текст, пришедший **чужими руками**,
|
||
идёт в журнал и в задачу как есть.
|
||
|
||
## Вопрос
|
||
|
||
Несёт ли текст отказа операции распознавания адрес объекта, который мы отдали
|
||
SpeechKit, и в каких случаях? Если несёт — чем его отсечь, не потеряв причину
|
||
отказа: разбором по образцу, перечнем известных кодов отказа или отказом писать
|
||
чужой текст вовсе.
|
||
|
||
## Куда ляжет ответ
|
||
|
||
- Наблюдение с командой и условиями — записка в `docs/research/`, рядом с
|
||
`pocketbase-defaults.md`.
|
||
- Если адрес приходит — норма в спеку `storage`, требование «Файл отдаётся
|
||
ссылкой», и строка в `docs/security.md`, раздел «Из чего строятся пути и
|
||
ключи»; сама правка — отдельной задачей.
|
||
- Если не приходит — строка в ту же записку, чтобы гипотезу не поднимали заново.
|
||
|
||
## Рамки
|
||
|
||
Реальные ключи Yandex и боевые данные не трогаем. Отказ придётся вызывать
|
||
дешёвым способом: битый объект, объект вне бакета, отозванный доступ — что из
|
||
этого доступно, решается по ходу. Цена прогона в деньгах называется до запуска.
|