- пять задач партии review-2026-08-23: многозначность Remote-Name и Remote-Email, мелочи входа, механизация правила о зависимостях конфига, снятие мёртвого читателя .env, управляющие знаки в расширении - две существующие разведки дополнены находками того же прогона: адрес объекта в тексте отказа SpeechKit и выводимость имени копии из журнала
40 lines
3.0 KiB
Markdown
40 lines
3.0 KiB
Markdown
# 🔬 Адрес объекта в тексте отказа SpeechKit
|
||
|
||
- **Тип:** research
|
||
- **Категория:** Очередь — Тот же род утечки в журнал, но вне темы входа — идёт следом за ней.
|
||
- **Зачем:** Текст отказа операции приходит от Yandex и уезжает в журнал и в колонку error_text: если он несёт URI объекта, из журнала снова собирается ссылка на чужую запись.
|
||
- **Теги:** review-2026-08-23
|
||
|
||
Гипотеза ревью задачи `pocketbase-storage` 2026-08-12, оставшаяся без оракула:
|
||
поднять настоящий отказ Yandex нечем, а прогон на реальных ключах запрещён.
|
||
Собственные цепочки отказов задача оборвала — чтение из хранилища и выгрузка в
|
||
Object Storage больше не называют ключ, — но текст, пришедший **чужими руками**,
|
||
идёт в журнал и в задачу как есть.
|
||
|
||
Подтверждено прогоном ревью `config-test-headers-login` 2026-08-23: та же
|
||
находка пришла второй раз. Оракула у неё нет и быть не может — нужен
|
||
настоящий SpeechKit, а прогон на реальных ключах запрещён («Yandex Cloud за
|
||
деньги»).
|
||
|
||
## Вопрос
|
||
|
||
Несёт ли текст отказа операции распознавания адрес объекта, который мы отдали
|
||
SpeechKit, и в каких случаях? Если несёт — чем его отсечь, не потеряв причину
|
||
отказа: разбором по образцу, перечнем известных кодов отказа или отказом писать
|
||
чужой текст вовсе.
|
||
|
||
## Куда ляжет ответ
|
||
|
||
- Наблюдение с командой и условиями — записка в `docs/research/`, рядом с
|
||
`pocketbase-defaults.md`.
|
||
- Если адрес приходит — норма в спеку `storage`, требование «Файл отдаётся
|
||
ссылкой», и строка в `docs/security.md`, раздел «Из чего строятся пути и
|
||
ключи»; сама правка — отдельной задачей.
|
||
- Если не приходит — строка в ту же записку, чтобы гипотезу не поднимали заново.
|
||
|
||
## Рамки
|
||
|
||
Реальные ключи Yandex и боевые данные не трогаем. Отказ придётся вызывать
|
||
дешёвым способом: битый объект, объект вне бакета, отозванный доступ — что из
|
||
этого доступно, решается по ходу. Цена прогона в деньгах называется до запуска.
|